軟體生態系統是指乙個共同的技術平台,許多參與者共同工作,形成大量的軟體解決方案或服務。 這樣的生態在開發者場景下可以發揮極其重要的作用,可以重塑整個AI工作流程,增強開發者粘性。
根據 Tomshardware 的乙份報告,Nvidia 在其軟體平台 CUDA 更新的許可條款中禁止使用翻譯層在其他硬體平台上執行基於 CUDA 的軟體。 業界對這一政策變化的普遍解讀是,為了防止其他廠商通過Zluda等翻譯層使用CUDA**,英偉達限制其他廠商通過Zluda等AI晶元平台直接轉換CUDA生態軟體。
作為NVIDIA的軟體,CUDA在與硬體合作時可以非常高效地驅動AI模型,並成為許多AI廠商訓練推理模型的首選,這也是支撐NVIDIA在當前AI計算領域佔據主導地位的重要支柱。 然而,隨著更具競爭力的硬體的出現,越來越多的使用者希望能夠在其他平台上執行他們的 CUDA 程式。 對於像 Zluda 這樣的轉換層,在非 NVIDIA 硬體上執行 CUDA 程式是最簡單的方法(也可以重新編譯**)。
這顯然對NVIDIA在AI應用中的地位產生了影響,也是NVIDIA決定禁止使用轉換層在其他硬體平台上執行CUDA應用的原因。 事實上,自 2021 年以來,NVIDIA 已在網上發布的許可條款中禁止使用翻譯層在其他硬體平台上執行基於 CUDA 的軟體。 現在,Nvidia 已將此警告新增到 CUDA 11 中6 版本的條款。 從長遠來看,NVIDIA無疑會設定更多的法律障礙,以防止CUDA軟體在第三方硬體上執行翻譯層。
在開發人員的日常流程中,第一步是資料管理,包括資料提取、轉換、載入到應用中,統稱為ETL。 然後是資料儲存、資料訓練、驗證(視覺化)、推理等環節。 乙個足夠好的軟體生態可以極大地影響上述工作流程,並且通過乙個發達的軟體生態的支援,可以大大提高工作效率,大大增加對開發者的粘性,形成正反饋,改善軟體生態的壁壘。
在CUDA出現之前,人們不得不編寫大量的低階**或者借用圖形API來呼叫GPU的算力,這對於主要使用高階語言的程式設計師來說非常不方便。 這種情況導致英偉達決定建立乙個與之相匹配的計算平台。 CUDA 於 2006 年發布,CUDA1 於 2007 年正式推出0 個測試版。 從2008年到2010年,CUDA平台得到進一步發展,擴充套件了新局域的同步指令,擴充套件了全速常量儲存器等。 NVIDIA 通過向各種軟體供應商免費提供開發工具,使 CUDA 生態系統初具規模。 程式設計師不再需要通過圖形 API 呼叫 GPU,而是可以直接以類似於 C 語言的方式操作 GPU。
CUDA 包括廣泛的生態系統元件,包括程式語言和 API、開發庫、分析和除錯工具、資料中心和集群管理工具以及 GPU 硬體。 這些類別中的每乙個都包含大量元件。 這些都是由NVIDIA和開源生態系統的開發人員在過去二十年中形成的。
它以移植的形式與CUDA生態系統相容
當然,CUDA生態系統雖然龐大且具有先發優勢,但並非不可替代。 由於NVIDIA佔據了AI訓練市場的絕大部分,因此在CUDA之外尋找第二種選擇是許多AI模型公司的重要策略。
對於 AMD、Intel 和其他追趕者來說,雖然禁止通過 Zluda 等翻譯層直接移植軟體,但重新編譯現有的 CUDA 程式仍然是合法的。 因此,一方面,我們將繼續推出更好的硬體產品,建立我們自己的軟體生態系統,並吸引更多的軟體開發人員為這些新平台設計軟體。 另一方面,使用開源社群提供的相容工具,以便攜的方式相容CUDA生態,也是乙個重要的補充。
例如,ROCM是AMD基於其GPU產品開發的開源計算生態系統,在很大程度上仍與CUDA相容。 軟體庫支援是可用性的核心。 自 2015 年以來,ROCM 生態系統不斷豐富其元件。 2016年,ROCM1在第 0 階段,初步支援基本資料格式、基本操作指令、常用的基本線性代數庫和一些常用的 AI 框架。 到 2023 年 4 月,AMD 推出了 ROCM5版本 6 形成了乙個相對清晰的軟體架構,例如底層驅動程式執行時、程式設計模型、編譯器和測試除錯工具、計算庫和部署工具。 從完成度來看,目前ROCM與CUDA相比,在開發、分析工具、基礎計算庫、深度學習庫和框架、系統軟體等方面都取得了相對完整的支援。
當然,只支援AI的核心框架和軟體庫對於GPU來說還不夠,往往需要全面的軟硬體支援才能觸達大量使用者,在使用中獲取反饋,快速迭代,從而構建生態護城河。 由於 ROCM 僅支援 Linux,因此官方對 Windows 的支援不足,以命令列或指令碼形式安裝的門檻高於 CUDA 的圖形化操作,這對於開發人員或演算法工程師等專業人士來說是可以接受的,對於那些不專注於 AI 的使用者來說還是有一定的門檻的。
不過,ROCM生態已經能夠在一定程度上取代CUDA,尤其是在核心AI領域,支援和可用性都比較完整,其中很多做法都非常值得借鑑。
自建生態是長遠的必經之路
在ChatGPT熱潮下,生成式AI成為目前最大的熱點。 這股熱潮極大地帶動了GPU產業的快速發展,同時也為國產GPU提供了難得的發展機遇。 目前,硬體效能指標並不是國產GPU的最大障礙,部分國產GPU在理論硬體效能上可以接近國際主流水平,但在軟體生態層面面臨諸多限制。
2023年,隨著生成式AI的爆發,尤其是在英偉達特別版效能下滑之後,國內GPU企業將受到更高的關注。 然而,這些產品的應用也離不開生態系統的支援。 國內企業仍需在AI的核心框架和演算法庫方面加快生態發展,在生態競爭中率先進行。
首先,自建生態是長遠的必經之路。 在中國核心的國產AI算力晶元技術路線上,華為昇騰和寒武紀都選擇構建自己的生態。 雖然這種方法在初期會面臨許多挑戰,但在生態自主方面會走得更遠、更穩健。 不過,從全球來看,AMD、英特爾等並沒有放棄移植與CUDA生態的相容性,其中很多做法也值得國內廠商參考。