英偉達開始著手為未來的開放和並行編程建立基礎
隨著圖形處理器在計算機里變得越來越常見,英偉達正在擴大與標準和開源社區的合作,以便於包括先前僅限於該公司開發工具的下游技術。雖然人們在 C++ 和 Fortran 等語言上投入了大量精力,但這些語言被認為在高度並行的計算機上執行代碼落後於原生實現的編程語言。
英偉達結合了開放和專有庫的 CUDA 並行編程框架影響了許多正在開放和主流化的技術。在 2007 年,CUDA 作為一個為程序員開發基於 GPU 的系統的一系列編程工具和框架而推出。然而,隨著 GPU 利用率在更多應用程序和領域中的增長,CUDA 理念發生了轉變。
英偉達因其在 GPU 上的主導地位而廣為人知,但 CUDA 是這家以 1 萬億市值為目標的軟體和服務供應商重塑品牌的核心。英偉達的長期目標是成為一個全棧提供商,專註於自動駕駛、量子計算、醫療保健、機器人、網路安全和量子計算等特定領域。
英偉達已經在特定領域創建了專用的 CUDA 庫,以及企業可以使用的硬體和服務。其 CEO 黃仁勛在最近的 GPU 技術大會上宣布的 「AI 工廠」 概念,最能體現全棧戰略。客戶可以將應用程序放入英偉達的大型數據中心,從而獲得針對特定行業或應用程序需求量身定製的定製 AI 模型。
英偉達可以通過兩種方式從 AI 工廠原則中受益:利用 GPU 容量或利用特定領域的 CUDA 庫。在英偉達 GPU 上,程序員可以使用 OpenCL 等開源並行編程框架。另一方面,CUDA 將為那些願意投資的人提供額外的最後一英里增長,因為其已調整為與英偉達的 GPU 密切運作。
雖然並行編程在高性能計算中很常見常見,但英偉達的目標是讓其成為主流計算的標準。該公司正在協助實現一流工具的標準化,無論品牌、加速器類型或並行編程框架是什麼,都可以編寫可跨硬體平台移植的並行代碼。
一方面,英偉達是 C++ 小組的成員,該小組正在為跨硬體同時執行可移植代碼奠定基礎。上下文可以是主要執行 IO 的 CPU 線程,也可以是執行高要求計算的 CPU 或 GPU 線程。英偉達特别致力於為 C++ 程序員提供非同步和並行的標準語言和基礎設施。
第一項工作側重於內存模型,該模型已合併到 C++ 11 中,但當並行性和並發性變得更加普遍時,必須對其進行更新。C++ 11 的內存模型強調跨多核 CPU 的並發執行,但它缺乏並行編程鉤子。C++ 17 標準為更高級別的並行特性奠定了基礎,但真正的可移植性必須等待未來的標準。C++ 20 是當前標準,而 C++ 23 即將推出。
作者:Laveesh Kocher 選題:lkxed 譯者:zxcv545 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive