華為CANN要取代輝達CUDA,比鴻蒙取代安卓還難嗎?


在數位時代,石油曾是工業的血液,驅動世界的運作。然而,隨著人工智慧的興起,一種新的能源正在悄悄崛起,它就是算力──AI時代的新石油。這不再是關於地下的挖掘,而是關於數據的開採和智慧的提煉。在這個新紀元,算力成為了衡量一個企業、一個國家甚至一個文明進步的關鍵指標。

每一個算力時代,都有兩大核心,一個是運算晶片,一個是作業系統。在CPU時代,就是大名鼎鼎的Wintel聯盟。那麼在AI時代呢?目前看最有可能的就是輝達的GPU+CUDA。也就是說,輝達集最強的AI算力和AI作業系統於一身,難怪其市值能直逼3兆美元。

在CPU算力時代,我們被Wintel卡了很多年脖子。直到華為晶片+鴻蒙操作系統的出現,我們才看到了一點點「解套」的曙光(注意,也只是一點曙光)。上一個卡點還沒解決好,輝達GPU+CUDA又成了AI時代的另一個卡點。

那這一個卡點該怎麼解決呢?目前來看,還是得靠華為——Ascend(昇騰)+CANN。但這有幾成勝算呢?要知道,生態的障礙是最難打破的。鴻蒙都不能算成功了,CANN要打破CUDA的圍堵,還有漫漫長路。


老牌霸主,輝達CUDA的統治力

CUDA(Compute Unified Device Architecture),由輝達在2006年推出,標誌著GPU並行運算的新時代的開啟。這項創新的平行運算平台與API模型,不僅讓GPU超越了圖形渲染的界限,更在科學運算、深度學習、資料分析等領域發揮巨大的作用。 CUDA的誕生,使得開發者能夠利用GPU的強大並行處理能力,為各種運算密集型任務提供了加速的可能性。

自誕生以來,CUDA經歷了多個重要版本的更新,每一次更新都為該行業帶來了深遠的影響。例如,CUDA 2.0引入了對雙精度浮點運算的支持,這對科學計算尤其重要。隨後的版本,如CUDA 4.0,特別強調了對多GPU系統的支持,允許更靈活的資料共享和任務分配,進一步推動了高效能運算的發展。到了CUDA 11,輝達特別重視對大規模資料集和AI模型的支持,以及增強的異質運算能力,這在深度學習領域的應用尤為突出。

CUDA不只是一個運算平台,它更是一個龐大的技術生態系統。輝達透過CUDA,建構了一個包括開發庫(Libraries)、運行時(Runtime)和驅動(Driver)在內的完整軟體堆疊。這個生態系統為開發者提供了豐富的工具和資源,包括數學和科學計算任務運算庫、便利的應用開發介面等,大大促進了技術創新和應用開發。

CUDA的統治力在GPU產業中是顯而易見的,CUDA平台的廣泛應用和強大的生態系統,為輝達在高效能運算、人工智慧、資料中心等領域提供了堅實的基礎。隨著技術的不斷進步和市場需求的增長,CUDA的市場份額和行業影響力預計將進一步擴大。

CUDA的成功不僅在於其技術優勢,更在於它所建構的生態系統和社群。數百萬的開發者、科學研究人員和企業在使用和貢獻於CUDA平台,形成了一個自我增強、不斷創新的循環。這種由下至上的創新模式,使得CUDA能夠持續引領產業發展,並維持其霸主地位。


CUDA不缺挑戰者

AMD作為GPU領域的另一大巨頭,同樣擁有自己的平行運算平台來與輝達的CUDA競爭。 AMD對應的技術是ROCm(Radeon Open Compute platform),這是一個開源軟體平台,旨在提供高效能的GPU運算解決方案。

ROCm最初發佈於2015年,比CUDA晚了整整9年,旨在為AMD GPU提供類似CUDA的程式設計模型和工具鏈。它支援多種程式語言,包括C++、Fortran等,並提供了一套豐富的數學函式庫和運算介面。

隨著版本的迭代,ROCm會不斷增加新特性和最佳化效能,例如支援OpenCL、HIP(類似CUDA的程式設計模型)等,讓開發者可以更輕鬆地將CUDA程式碼移植到AMD GPU上。

ROCm 5.0版本,對效能和穩定性進行了顯著改進,支援了更多的AI框架和函式庫,如TensorFlow、PyTorch等,同時增強了對AMD最新GPU架構的支援。

儘管ROCm不斷進步,但CUDA由於其先發優勢和長期積累,已經建立了一個龐大且成熟的生態系統,擁有更廣泛的開發者基礎和社區支持。 CUDA提供了更全面的程式庫支援和最佳化,這使得在許多情況下,開發者更傾向於使用CUDA。

根據JCR統計,輝達在全球GPU市場中佔據了80%以上的份額,而AMD的市佔率相對較小。根據統計,CUDA的開發者數量在2020年已達到200萬,到2023年增長至400萬,顯示出其強大的用戶基礎和需求黏性。

儘管AMD的ROCm在開放性、多供應商支援方面具有優勢,但要想在短期內撼動CUDA的市場地位幾乎不太可能。


來自中國的挑戰者-華為CANN

除了AMD的ROCm,輝達CUDA的另一個挑戰者,是來自中國的CANN。CANN(Compute Architecture for Neural Networks)的誕生標誌著華為在AI算力領域的深入佈局,作為昇騰AI全棧的核心,CANN扮演著承上啟下的關鍵角色,適配多框架與多異構芯片,為多樣化的AI應用場景提供高效易用的程式設計方式。

自CANN 1.0的誕生之日起,華為便在AI算力領域展開了一場技術革新的馬拉松。隨著AI技術的不斷進步,CANN也迎來了快速的迭代更新。

CANN 3.0的發布,標誌著華為在異質運算架構上的重大飛躍。這個版本不僅優化了與上層深度學習框架的兼容性,更在底層AI硬體的適配上做了深入的工作,實現了軟硬體之間的高效協同。這種優化大幅提升了AI模型的開發效率和運作效能,為AI應用的快速部署和穩定運作打下了堅實的基礎。

緊接著,CANN 5.0的問世,自動流水技術的應用,使得計算任務能夠在硬體上實現無縫銜接,極大提高了計算的並行度和執行效率。算子深度融合技術,透過減少運算節點和記憶體拷貝,進一步提升了效能。自適應梯度切分技術優化了大規模集群訓練中的梯度同步問題,降低了通訊拖尾,提高了訓練效率。而智慧運算調優技術,則透過自動化的調優策略,為不同網路模型提供了客製化的最佳化方案,使得CANN 5.0在效能上實現了質的飛躍。

CANN 6.0商用版也已於2022年發布,支援新的作業系統、pyACL接口,以及虛擬機直通場景算力切分等功能。

此外,CANN社群版6.2.RC2.alpha001和6.3.RC2.alpha005版本也相繼發布,支援Ascend 310B晶片和Ascend 310P/910系列相關產品,進一步擴展了CANN的應用範圍和相容性。

進入2024年,CANN 7.0.0、CANN 7.0.1相繼發布,可見CANN正在加速成長。看來,華為也有點著急了。


CANN的持續發展不僅反映了華為在AI算力領域的技術積累,也展現了其建構全場景人工智慧平台的決心。透過不斷的技術創新和版本迭代,CANN正逐步成為推動AI產業發展的重要力量。


CANN與CUDA的“戰況”

華為CANN與輝達CUDA在AI和高效能運算領域扮演著相似的角色,它們都是各自公司技術架構中的關鍵一環。CUDA作為一個平行運算平台和程式設計模型,釋放了輝達GPU在處理運算密集型任務時的強大潛力。同樣,CANN為華為昇騰AI處理器提供了一個專門的異構運算架構,以實現高效的AI模型訓練和推理。

兩者都為開發者提供了硬體加速的能力,透過專門的程式設計介面和API,使得在專用硬體上運行的程式能夠充分利用其運算能力。它們還建立了各自的生態系統,包括工具、庫、框架和社區支持,這些資源極大地促進了開發者的工作效率。

儘管CUDA主要針對輝達的GPU,而CANN專為華為昇騰AI處理器設計,但它們都在努力實現跨平台的支持,以滿足不同應用場景的需求。此外,CANN和CUDA都透過不斷的技術創新和版本迭代,對效能進行了深度優化,確保了更快的處理速度和更高的運算效率。

接下來,我們就從幾個不同的角度,將CANN與CUDA做比較。

CANN與CUDA的設計哲學體現了兩種不同的技術邏輯,CANN,作為華為昇騰AI處理器的使能平台,其設計初衷是提供全端AI解決方案,以適應多樣化的AI應用場景。 CANN的架構優化了軟硬體協同,並專注於在異質運算環境中的效能和效率。相較之下,CUDA由輝達推出,是一個成熟的平行運算平台和程式設計模型,其設計哲學著重於利用GPU的強大平行處理能力,服務於廣泛的運算密集型任務,包括但不限於AI。也就是說,CUDA的通用性和適用範圍比CANN更廣。

華為將CANN置於其AI策略的核心位置,視其為推動昇騰AI處理器市場競爭力的關鍵。 CANN不僅是技術實力的展現,也是華為建構開放AI生態系、推動AI技術普及的重要工具。對輝達而言,CUDA是其GPU技術的延伸,透過CUDA,輝達鞏固了其在高效能運算和AI領域的領導地位,同時CUDA的廣泛採用也為輝達帶來了顯著的網路效應。

在性能方面,CANN和CUDA各有千秋。 CANN透過自動流水、算子深度融合等技術,在AI模型訓練和推理表現上取得了顯著進步。 CUDA則憑藉其成熟的優化和廣泛的硬體支持,提供了極高的計算效率和穩定性。兩者在處理速度上的競爭,也反映了它們在不同應用情境下的效能最佳化策略。

CANN和CUDA在不同的應用場景中展現出各自的優勢,CANN在處理大規模AI訓練和推理任務時,特別是在華為昇騰AI處理器上,展現出優異的性能。 CUDA則因其廣泛的硬體相容性和成熟的生態,被廣泛應用於科學研究、工程設計、內容創作等多個領域。

當然,雖然華為CANN在某些方面做出了自己的特色,但要拼綜合實力,其離輝達CUDA還有不小的距離。

更重要的是,開發者生態的競爭。 CUDA擁有龐大的開發者社群和豐富的學習資源,為開發者提供了強大的支援。華為也積極建構CANN的開發者生態,透過提供豐富的工具、文件和社群支持,吸引和培養開發者。然而,華為CANN離建構輝達CUDA那樣完善強大的開發者生態,還有非常遙遠的距離。

華為CANN,能成為Ascend(昇騰)晶片的黃金搭檔麼?

華為CANN作為昇騰Ascend處理器的使能平台,其設計和優化緊密圍繞著昇騰Ascend的硬體架構,旨在充分發揮昇騰AI處理器的性能。從這個角度來看,CANN確實有潛力成為昇騰Ascend的黃金搭檔,助力華為在AI算力領域的長遠發展。

昇騰Ascend的發展歷程,是華為在AI算力領域技術累積與創新的縮影。自2018年華為發布昇騰310和昇騰910 AI處理器以來,昇騰系列就以其卓越的性能和專為AI計算優化的設計,迅速在AI處理器市場佔據了一席之地。

隨後,華為在2019年推出的昇騰AI運算架構進一步豐富了昇騰系列的生態系統,透過整合昇騰處理器、AI加速模組和開發環境,為開發者提供了一個全端的AI解決方案。這項措施大大提升了昇騰AI處理器的易用性和靈活性,加速了AI應用的開發與部署。

進入2020年,CANN 3.0版本的發布標誌著昇騰AI處理器在效能和開發效率上的飛躍。自動流水技術和算子深度融合等創新技術的引入,不僅優化了處理器的運算能力,也簡化了開發者的程式設計工作,使得昇騰AI處理器在處理複雜AI任務時更有效率。

到了2021年,CANN 5.0版本的發布帶來了性能上的進一步提升,透過軟硬體協同優化,昇騰AI處理器在執行大規模AI模型訓練和推理任務時展現出了卓越的性能。而2022年昇騰CANN商用版6.0的發布,支援新的作業系統和虛擬機直通場景算力切分,進一步提升了昇騰AI處理器的適用性和靈活性。

到了2023年,昇騰Ascend的發展持續加速,華為在昇騰AI處理器上的持續投入與創新,不僅推動了AI技術的進步,也為昇騰Ascend在AI算力領域的發展奠定了堅實的基礎。

根據最新消息,昇騰Ascend在2024年的出貨量預期非常樂觀,預估在30萬到60萬片之間,價格方面也有所上漲。美國對高階GPU和CPU的出口管控導致中國市場對國產算力需求顯著增加,去年成長了接近400%,今年需求基本上能維持去年的成長速率。此外,昇騰的主要客戶包括網路業者等,需求量龐大。

近期,輝達更新了其CUDA用戶許可協議(EULA),明確禁止在非輝達硬體平台上透過翻譯層運行基於CUDA的軟體。這項政策變動對於依賴CUDA進行AI運算的第三方GPU製造商構成了挑戰,尤其是對於那些尋求透過相容CUDA來擴展其產品的開發者和公司。

輝達的這項政策變動,無疑增加了華為CANN的迫切感。如果CANN無法快速發展並提供與CUDA相匹敵的性能和易用性,可能會影響昇騰Ascend在AI算力領域的競爭力,進而拖累其整體發展。然而,這也為CANN提供了一個機遇,透過加強自身的技術創新和生態建設,CANN有可能成為推動昇騰Ascend發展的關鍵力量。


CANN,能成為AI版的鴻蒙麼?

如同文章開頭所說,在傳統運算領域,華為鴻蒙已經取得階段性勝利了,而在AI運算領域,CANN承擔了類似的使命。

CANN作為華為昇騰AI處理器的異質運算架構,雖然在功能上與傳統作業系統有所區別,但在AI領域的戰略意義和作用上,可以將其視為AI版的作業系統。 CANN向上支援多種AI框架,如MindSpore、PyTorch、TensorFlow等,向下服務AI處理器與編程,發揮著承上啟動的關鍵作用,是提升昇騰AI處理器運算效率的關鍵平台。正如鴻蒙OS為華為在作業系統領域提供了自主創新的路徑,CANN也在AI算力領域承擔著建構和推動華為技術生態發展的重任。


CANN在華為升騰運算產業生態中的作用資料來源:《昇騰運算產業發展白皮書》


目前,鴻蒙已成為中國乃至全球市場的重要競爭者。 2024年,鴻蒙OS在中國市場的手機系統份額首次超越蘋果iOS,成為第二大作業系統,裝置量達8億台。這項成就不僅體現了華為在作業系統領域的自主創新能力,也標誌著鴻蒙OS在手機、電腦、汽車等多個領域的廣泛應用和深入佈局。

鴻蒙OS的成功對華為具有重要意義,它打破了國外廠商在行動作業系統上的長期壟斷,為華為在全球市場上贏得了更多的話語權和影響力。鴻蒙OS的廣泛應用為華為建構了更完善的生態系統,增強了其產品的競爭力。此外,鴻蒙OS的成功也為華為在AI算力領域的進一步發展奠定了基礎。

類似的,CANN有潛力成為AI領域的“鴻蒙”,肩負起建構華為AI生態的重任。 CANN的發展,將直接影響昇騰AI處理器的效能發揮與應用推廣。隨著AI技術的不斷進步和應用領域的拓展,CANN的技術迭代和生態建設將對華為在AI算力領域的競爭力產生重要影響。

要讓CANN成為AI版的鴻蒙,華為需要在技術創新、生態建設、應用拓展和社區支援等方面進行努力。技術創新是CANN發展的核心,需要持續優化效能,加強與昇騰AI處理器的協同合作。生態建設是CANN成功的關鍵,需要建構開放、協作的AI生態,吸引更多的開發者和合作夥伴參與。應用拓展是CANN實現價值的途徑,需要推動CANN在更多AI應用場景的運用。社區支持是CANN持續發展的動力,需要加強與開發者社群的互動,提供豐富的開發工具、文件和技術支援。

應該說,讓CANN去挑戰CUDA,難度甚至比鴻蒙挑戰安卓還要大。但無論多難,這件事情都值得嘗試一下,不然,我們在AI時代面臨的卡脖子問題,將比當初的Wintel更加嚴重。對華為而言,要是能解決這個問題,那他對於中國的價值,比賣很多手機、汽車更具戰略意義。(數據猿)