全球AI系統級計算平臺對比:CUDA、CANN、Neuware和ROCm

本文來自“國內外AI晶片平臺分析:獨立自主的AI系統級計算平臺是國產AI晶片構建生態壁壘的關鍵”,影響AI晶片計算能力的因素除了硬體層面的晶片製程、記憶體、頻寬等,還包括呼叫各硬體資源的系統級軟體計算平臺。AI晶片廠商開發的系統計算平臺不僅僅有效提升各家AI晶片產品的算力利用率,還為各類AI應用開發提供了豐富的函式庫,提供開發者簡便易用的開發環境。
(一)CUDA:釋放英偉達 GPU 算力的系統級 AI 計算平臺
英偉達開發的CUDA系統計算框架構建了GPU和開發者之間的橋樑。CUDA(Compute Unified Device Architecture)是英偉達公司於2007年推出用於釋放GPU平行計算能力和增強通用性的系統級計算平臺。CUDA直接對接GPU的物理層,將海量資料分配給多個執行緒上分別處理,再呼叫GPU的多核心(計算單元)進行平行計算。為方便開發者更好的呼叫GPU的計算能力,CUDA也提供了一系列封裝好的函式庫和API,可在晶片物理層上實現指令級和運算元的直接呼叫。
總體而言,CUDA一方面可高效利用底層AI晶片的算力,另一方面給予開發者便捷的開發環境,滿足了開發者高效利用AI底層算力的需求。
CUDA不僅僅是AI演算法開發的工具鏈,還是呼叫底層計算資源的系統平臺。與一般的軟體工具不同,CUDA是更加貼近晶片物理層的系統平臺,其提供的封裝函式可以實現對於記憶體、計算單元(算術邏輯單元)、資料傳輸速率(頻寬)等底層算力資源的呼叫。
因此,CUDA在設計之初的產品定位是給程式設計師提供對於硬體效能最佳化和除錯的功能。後續,隨著CUDA版本的升級迭代,其對於底層硬體資源呼叫能力持續增強。例如,CUDA 5.0版本中新增的動態並行技術,可以根據資料處理量在核心中動態呼叫多條執行緒,減少單一執行緒上的工作負載,從而保證了不同執行緒上的負載均衡。
CUDA提供了易用友好的開發環境。CUDA提供了豐富的庫函式和工具,方便程式設計師對於各類AI演算法進行開發。經過多年的拓展,CUDA不僅相容主流的AI訓練框架(TensorflowPytorch等),對各類AI演算法(DLRMResnet-50BERT等)的覆蓋面也更加廣闊。透過CUDA,程式設計師可以高效利用GPU的大規模平行計算能力來加速各種計算密集型任務,包括影像和影片處理、物理模擬、金融分析、生命科學等領域。我們認為,CUDA經過長期積累可提供對於各類AI演算法開發的函式庫和工具鏈更加豐富,對各類演算法覆蓋面更加廣泛,在易用性方面具有一定優勢。
CUDA與英偉達AI晶片強繫結,隨著AI晶片迭代而持續升級。英偉達在每一代晶片架構升級的過程中,添加了一些新的特性來提升對於AI演算法的計算效率。針對這些新的特性,CUDA也不斷豐富SDK中的函式庫從軟體層面進一步對AI演算法進行加速。
例如,英偉達在2017年推出Volta架構AI晶片產品的時候首次引入了Tensor Core,其將單一維度的數字運算擴充套件到二維度的矩陣運算,從而提升單次運算能力。在軟體層面,CUDA 9.0版本則新增了各類矩陣運算運算子,對於矩陣的載入、相乘、累加都有很好的處理效果。因此,使用者可以透過CUDA更好的發揮硬體層面的新特性,從而擴充套件產品的應用場景。
CUDA構建了英偉達長而深的生態護城河。英偉達針對資料中心場景的大資料和AI功能的開發起步早,積累深厚。自2007年,英偉達推出CUDA以來,至今已迭代了12個版本。在多年市場推廣下,CUDA已成為AI演算法開發主流的系統平臺,具有較高的生態壁壘。截止20234月,海內外主要科技公司超過百萬的開發人員都是基於CUDA開發AI演算法。硬體層面的架構升級吸引使用者採購新一代AI晶片更新換代,軟體層面豐富的工具和易用的開發環境則培養了使用者粘性。在長期的積累下,CUDA形成的生態壁壘較好的鞏固英偉達的市場份額和龍頭地位。
(二)CANN華為拓展騰 AI 晶片生態的關鍵
CANNCompute Architecture for Neural Networks)是華為針對AI場景推出的異構計算架構CANN構建了從上層深度學習框架到底層AI晶片的橋樑,提供多層次的程式設計介面,全面支援MindSpore、飛槳PaddlePaddlePyTorchTensorFlow、Caffe等主流AI框架,提供900多種優選模型覆蓋眾多典型場景應用,相容多種底層硬體裝置,提供異構計算能力,支援使用者快速構建基於騰平臺的AI應用。
計算架構方面,CANN被抽象為五大層級,分別為計算語言介面、計算服務層、計算編譯引擎、計算執行引擎和計算基礎層共同構建高效而簡捷的計算平臺。CANN的優勢是相容性較強,可在不同的硬體、OSAI開發框架的異構環境中發揮較好的計算效能,實現端邊雲多裝置的協同,賦能各場景的AI開發。
CANN是系統級計算平臺,位於物理層和基礎軟體層之間。CANN根據應用於不同場景中具體的演算法需求,為開發者提供了可呼叫的計算資源以及可操作的功能模組,具體包括超過1200個運算元、統一程式設計介面AscendCLModelZoo模型庫以及圖編譯器等。CANN提供了從底層運算元、模型開發再到上層應用全流程的開發工具,可覆蓋全場景應用,方便開發者快速開發各類演算法。作為華為AI基礎軟硬體平臺的核心,CANN在面向底層硬體資源的呼叫、面向開發者的工具模組以及面向生態夥伴的介面等方面都有較好設計和提升,其具體特點包括:
1. 簡便開發:針對多樣化應用場景,統一程式設計介面AscendCL適配全系列硬體,助力開發者快速構建基於騰平臺的AI應用和業務。
2. 效能最佳化:透過自動流水、運算元深度融合、智慧計算調優、自適應梯度切分等核心技術,軟硬體協同最佳化,提升AI晶片的算力利用率。
3. 開放生態:豐富的高效能運算元庫和優選ModelZoo模型庫,吸引各領域的開發者共建生態。
CANN提供運算元層面多種開發方式,開發者對AI晶片功能拓展更具靈活性。運算元通常是AI晶片的核心部件,其包含各種不同型別的運算運算子,如矩陣乘法、卷積、池化、非線性啟用等。CANN提供開發者在運算元層面可程式設計的能力。針對不同演算法特點,開發者可以從更加底層修改資源排程方式,從而降低神經網路的計算複雜度和時間開銷,提高模型的訓練速度和精度。
CANN提供的高效能運算元庫有效提高訓練和推理階段的計算效率。運算元庫在AI模型的訓練和推理階段都有重要功能和作用。在AI訓練過程中,卷積運算元、全連線運算元、批次歸一化運算元等對於神經網路的訓練過程需要大量的矩陣乘法和複雜的數學運算有很好效能滿足,可以顯著提高訓練速度和效率。在AI推理過程中,卷積運算元、池化運算元、啟用運算元等則可用於加速神經網路的推斷,減少響應時間。開發者基於CANN提供的支援包括TensorFlowPytorchMindsporeOnnx框架在內超過1200個高效能運算元,幫助開發者有效提升訓練和推理的計算效率。
(三)Neuware:寒武紀實現訓練推理一體化的 AI 計算平臺
寒武紀Cambricon Neuware是針對其雲、邊、端的AI晶片打造的軟體開發平臺。為了加快使用者端到端業務落地的速度,減少模型訓練研發到模型部署之間的繁瑣流程,Neuware整合了訓練和推理的全部底層軟體棧,包括底層驅動、執行時庫(CNRT)、運算元庫(CNNL)以及工具鏈等,將Neuware和深度學習框架Tensorflow、Pytorch深度融合,實現訓推一體。依託於Cambricon Neuware,開發者可完成從雲端到邊緣端、從模型訓練到推理部署的全部流程,提升AI晶片的算力利用率。
Neuware提供了全面的AI演算法開發工具。Neuware包括程式設計框架適配包、智慧晶片高效能數學庫、智慧晶片程式語言、智慧晶片編譯器、智慧晶片核心驅動、應用開發除錯工具包和智慧晶片虛擬化軟體等關鍵元件。在開發應用時,使用者既可以基於TensorFlowPyTorch等主流程式設計框架介面編寫程式碼,也可以透過公司自研的BANG程式語言對運算元進行擴充套件或直接編寫程式碼。智慧晶片編譯器可以完成BANG  語言到MLU指令的編譯,使得AI演算法各項指令高效地運行於思元系列AI晶片上。
在開發過程中,使用者還可以透過應用開發除錯工具包所提供的除錯工具、效能剖析工具和系統監測工具等高效地進行應用程式的功能除錯和效能調優。此外,Neuware也可以透過智慧晶片虛擬化軟體為雲計算與資料中心場景提供關鍵支撐。
訓練任務方面,Neware的訓練軟體平臺擁有多項強大特性,為使用者提供高效且靈活的訓練環境
1)首先,平臺支援主流開源框架原生分散式通訊方式以及Horovod開源分散式通訊框架,使使用者能夠輕鬆實現從單卡到叢集的分散式訓練任務。多種網路拓撲組織方式的支援,使得使用者可以根據需求靈活地選擇適合的分散式訓練方式,包括資料並行、模型並行和混並行的訓練方法。
2)其次,訓練軟體平臺提供豐富的訓練任務支援,涵蓋圖形影像、語音、推薦以及NLP等多個領域。使用者可以在一個統一的平臺上完成各類訓練任務,極大地簡化了訓練流程,提高了開發效率。另外,透過底層運算元庫CNNL和通訊庫CNCL,訓練件平臺在實際訓練業務中達到了業界領先的硬體計算效率和通訊效率。這意味著使用者可以獲得更快的訓練速度和更高的計算效能,從而加速模型的訓練過程。
3)最後,訓練軟體平臺提供了模型快速遷移方法,幫助使用者快速完成現有業務模型的遷移。這為使用者節省了大量的時間和工作,讓他們能夠更快地將已有模型應用到新的平臺上,提高了平臺的易用性和適配性。
推理任務方面,寒武紀自研的MagicMind推理引擎對主流推理場景應用加速效果較好。
2021年底,公司將Neuware架構升級了一個新的模組,MagicMind推理引擎。MagicMind推理引擎支援跨框架的模型解析、自動後端程式碼生成及最佳化,可幫助使用者在MLUGPUCPU訓練好的演算法模型上,降低使用者的研發成本,減少將推理業務部署到寒武紀AI加速卡產品上。此外,MagicMind和深度學習框架Tensorflow、Pytorch深度融合,使得使用者可以無縫地完成從模型訓練到推理部署的全部流程,進行靈活的訓練推理業務混布和潮汐式的業務切換,可快速響應業務變化,降低運營成本。MagicMind的特點包括:
1. 訓練到推理的無縫銜接:MagicMind和人工智慧框架TensorFlowPyTorch深度融合,模型訓練到推理一鍵部署。
2. 多種計算精度支援:支援FP32FP16INT16INT8等多種計算精度,支援使用者指定不同層級計算精度以及定義量化方法細節。
3. 原生支援動態張量輸入:具有完備動態張量表達能力,原生支援任意資料規模的動態張量輸入。
4. 豐富的除錯調優工具:豐富的除錯調優工具以及相應的文件和指引,便利的除錯調優體驗。
(四)ROCm:為海光 DCU 提供高相容性的 AI 計算平臺
海光DCU全面相容ROCm GPU計算生態ROCmRadeon Open Compute  Platform)是AMD基於開源專案的GPU計算生態系統,支援多種程式語言、編譯器、庫和工具,以加速科學計算、人工智慧和機器學習等領域的應用。ROCm還支援多種加速器廠商和架構,提供了開放的可移植性和互操作性。海光的DCU相容ROCm生態的特性使得其得到國際主流商業計算平臺生態系統和社群的支援,可以利用現有的AI平臺和共享計算資源,快速實現模型訓練和推理的效能提升,短期內有利於其DCU產品的推廣。
在架構層面,ROCmCUDA相似度較高。ROCmCUDA在生態、程式設計環境等方面具有高度的相似性,兩者能很好地相容相容,因此ROCm也被稱為“類CUDA
ROCm為了更好的相容CUDA,其實現了原始碼級的對CUDA程式的支援。AMD團隊不僅推出了與CUDA API高度類似的“HIP”工具集(Heterogeneous-compute  Interface for Portability),使得AI演算法工程師在編寫ROCm的程式碼風格上與CUDA儘量貼近,還提供了Rocblas(類似於Cublas)、Hcsparse(類似於Cusparse)等一系列CUDA生態函式庫的替代版本。CUDA使用者可以以較低代價快速遷移至ROCm平臺。
ROCm已實現包括函式介面、編譯器和函式庫等各方面對CUDA的相容。API函式介面方面,開發者可以在HIP裡得到與CUDA類似的程式設計語法和大量API指令集,以類似CUDA的風格為AMD GPU程式設計。函式庫方面,ROC庫提供了實現常用AI演算法的功能,允許開發人員使用類似於CUDA的函式,便捷開發支援ROCmAI應用。
最後在編譯環節,HCCHeterogeneous Compute Compiler)也是對應CUDANVCC的編譯器。ROCm實現了對CUDA的全面相容,使得原本為CUDA編寫的程式碼可以在ROCm平臺上重新編譯和執行,從而在AMD GPU上實現GPU加速計算。
英偉達的CUDA計算平臺是主流AI應用開發平臺。透過對比各公司開發的AI計算平臺,我們發現英偉達的CUDA開發時間最早,積累的開發者數量最多。CUDA推出的的時間是2007年,相較於其他廠商早了十年左右。
2012年,以Alexnet為代表的識別類AI技術取得突破後帶來的AI演算法開發的初期階段,CUDA即取得了先發優勢,在AI演算法開發群體中快速推廣使用。之後,英偉達一方面依靠AI晶片優異的硬體效能快速獲客,另一方面持續拓展CUDA的演算法覆蓋面,不斷鞏固客戶群體。英偉達透過“滾雪球”式的軟硬體協同創新,將其AI晶片的市場份額不斷擴大,並構建起了深厚的生態壁壘。
提醒:更新下載,已領請忽略!伺服器基礎知識全解終極版(第二版)》(含PPT和PDF)近日完成更新,請購買過伺服器基礎知識全解(終極版)”和“架構師技術全店資料打包彙總(全)”的讀者,請在微店留言獲免費取更新。
伺服器基礎知識全解終極版(第二版)(共227頁),內容圖文並茂,由淺入深,介紹全面,是世面罕見的伺服器學習資料,內包括伺服器基礎知識、CPU、記憶體、GPU、硬碟、智慧網絡卡等9個章節。本次主要更新內容:
  • 1、CPU更新(Intel/AMD架構演進,國產CPU架構
  • 2、GPU更新(英偉達GPU架構,從Fermi到Hopper,Rubin Ultra)
  • 3、記憶體技術、操作系統、儲存技術等更新
  • 4、已知問題修正
  • 5、更新內容40+頁PPT

請之前購買過全店打包架構師技術全店資料打包彙總(全)”的讀者,請憑藉購買記錄在微店留言免費獲取(PDF閱讀版本)。後續所有更新均免費發放目前46本資料)。

免責申明:本號聚焦相關技術分享,內容觀點不代表本號立場,可追溯內容均註明來源,釋出文章若存在版權等問題,請留言聯絡刪除,謝謝。
推薦閱讀
更多架構相關技術知識總結請參考“架構師全店鋪技術資料打包(全)”相關電子書(46本技術資料打包彙總詳情可透過“閱讀原文”獲取)。
溫馨提示:
掃描二維碼關注公眾號,點選閱讀原文連結獲取架構師技術全店資料打包彙總(全)電子書資料詳情


相關文章