![](https://s4.itho.me/sites/default/files/amd_rocm_6.3-main.jpg)
深度學習、生成式AI當紅,帶動GPU加速運算平臺的軟硬體應用需求,市面上有兩大廠商持續推出各種解決方案,均可提供消費型、專業型與資料中心等級的硬體GPU,而在軟體開發架構的方面,則有相當顯著的差異。
以居於領先地位的Nvidia而言,他們發展的統一計算裝置架構(CUDA)即將屆滿18年,推出的軟體開發套件最新版為12.8,總共橫跨12代的GPU架構。
而憑藉CUDA平臺提供的基礎,Nvidia陸續推出眾多可開發該公司GPU加速應用的程式庫,例如:2019年3月發布CUDA-X AI的軟體開發套件,集結能以Nvidia GPU加速執行深度學習、機器學習、資料分析等應用的程式庫;2020年5月推出Nvidia HPC SDK,提供一整包的編譯器與程式庫,協助高效能運算(HPC)應用的開發人員,可充分運用從GPU到CPU,以至整個互連架構的平臺,進行加速運算系統的程式設計。
另一家廠商AMD是在2006年併購GPU廠商ATI之後,開始進入這塊市場,他們針對圖形處理器通用計算(GPGPU)的技術發展路線較為曲折——由於本身坐擁CPU與GPU,他們提供內建GPU的CPU產品,稱之為APU,希望能推動異質運算架構(HSA),標榜支援開放、不偏袒特定廠商的OpenCL語言(Open Computing Language)。
到了2016年11月,AMD終於宣布推出專屬於該公司旗下新款Radeon GPU產品的開放軟體運算平臺(Radeon Open Compute Platform),簡稱ROCm,當時預告將以此支援OpenCL與多種CPU,包含AMD後續將推出的Zen架構處理器、Arm架構處理器Cavium ThunderX,以及Power架構處理器IBM Power 8,針對GPU運算提供最廣泛支援的開放原始碼平臺,截至目前為止,ROCm已發布至6.3.2版(1月底)。
整體而言,ROCm的底層是硬體GPU產品(Instinct、Radeon、Radeon PRO),以及軟體作業系統(多種Linux版本、Windows),在ROCm之上是多種AI軟體框架(JAX、ONNX Runtime、PyTorch、TensorFlow),至於ROCm本身,是由多種開放原始碼的軟體開發元件組成的技術堆疊架構,涵蓋低階的執行核心到高階的應用程式,為AMD GPU提供程式開發環境,包括程式庫、工具、編譯器、執行時期的環境(Runtime)這四大類元件。
單就ROCm的程式庫而言,分為4種:機器學習與電腦視覺、通訊、數學計算、基礎運算單元(Primitives),而在工具的部分,AMD提供3種:系統管理、效能、開發。
6.0版開始支援AMD新一代資料中心GPU產品:Instinct MI300系列
就近期版本更迭而言,2023年12月發布的6.0.0版,對於ROCm的發展而言,是個重要的里程碑,提供新的效能最佳化、擴充框架與程式庫的支援,以及改善開發者的使用體驗,而且,可初步支援AMD Instinct MI300系列GPU產品——例如,電腦或伺服器執行Linux作業系統時,若搭配Ubuntu的22.04.5版,可同時支援MI300X、MI300A,搭配RHEL的8.9版、SLES的15 SP5版,僅支援MI300A。
關於軟硬體的搭配成效上,AMD在2023年12月初發表新一代資料中心GPU產品Instinct MI300X,當時曾提到相關資訊。
根據該公司的測試,同樣執行Llama2-70b文字生成的AI對答工作負載,相較於前代軟硬體組合(2顆處理器AMD EPYC 7763搭配4個GPU加速器AMD Instinct MI250,以及軟體開發平臺ROCm 5.4.3),新一代解決方案(2顆處理器Intel Xeon Platinum搭配4個GPU加速器AMD Instinct MI300,以及軟體開發平臺ROCm 6.0)可提供8倍的效能。
AMD此時也揭露ROCm 6針對多種生成式AI應用需求,具備重要功能,像是FlashAttention、HIPGraph、vLLM,提供更多支援。
6.1版支援消費型與專業型GPU,可在WSL2使用
2024年4月釋出ROCm 6.1.0版,改善AMD Instinct MI300系列GPU應用的穩定度與效能。
兩個月後,ROCm 6.1.3版發布,AMD揭露多項新增特色。首先,這套GPU軟體開發平臺,支援消費型GPU產品 Radeon RX系列,包含7900 GRE、7900 XT、7900 XTX,以及專業型GPU產品 Radeon PRO系列,包含W7800、W7900,以及當時新發表的W7900 Dual Slot,用戶可經由這些GPU執行資料的平行處理,支援獨立的AI推論運算與結果的輸出,因此,基於上述配置,用戶可透過ROCm軟體平臺與Radeon GPU,支援多位使用者共用硬體GPU的設定組態。
第二,ROCm 6.1.3可針對微軟Windows 10與11內建的Linux執行環境WSL 2(Windows Subsystem for Linux 2),提供Beta測試等級的支援,有了這樣的搭配之後,用戶可在Windows系統當中,直接執行通常運作在Linux系統的AI工具,而不需要為此額外建置Linux系統,或透過雙重開機啟動(dual-boot)的設定方式,從原本啟動的Windows系統切換至另一套重新開機啟動的Linux系統。
第三,ROCm過往支援的AI框架有PyTorch、ONNX,6.1.3版增加支援TensorFlow,提供更多開發AI的選擇。
6.2版擴增vLLM與FP8支援
2024年8月ROCm 6.2出爐,AMD主打5大特色。舉例來說,針對AMD Instinct系列GPU,ROCm強化大型語言模型推論框架vLLM的支援,強化AI模型的效率與延展性,像是:針對大型語言模型,增加FP16或BF16精度處理能力;針對Llama模型,提供FP8精度的支援。
關於vLLM支援強化的特色,這一版的ROCm也提供多GPU執行、FP8 KV cache(用FP8格式儲存鍵值的快取技術)、FP8 GEMM(用FP8格式執行矩陣乘法)、自定解碼分頁注意力(Custom Decode Paged Attention,可提升大型語言模型推論效率的技術)。
為了簡化ROCm的安裝體驗,6.2版也提供全新的離線安裝程式建立工具(Offline Installer Creator),用戶透過統一、整合多種功能的圖形介面更簡易地製作安裝程式,而不需要耗費心力管理多套安裝工具。
針對AI和高效能運算的開發應用,ROCm 6.2開始提供Beta測試版本的效能剖析工具:Omnitrace、Omniperf,實現更全面的效能分析,以及流暢的開發流程。基本上,Omnitrace可橫跨多個CPU、GPU、網路介面、網路交織架構(network fabrics),呈現整體系統的效能表現,協助辨識與找出瓶頸所在;
Omniperf可列出細部的GPU系統核心分析,以便進行相關的微調作業。
提供更廣泛的FP8精度支援,可涵蓋多種框架與程式庫,強化效能與效率,也是ROCm 6.2一大賣點。例如,Transformer引擎透過hipBLASLt這個矩陣對矩陣的API存取程式庫的協助,在PyTorch、JAX增加FP8 GEMM的支援; JAX與基於JAX而成的AI框架Flax可經由即時編譯器XLA的協助,支援FP8 GEMM,進而改善效能。
AMD表示,可藉此改善執行AI模型的流程,用在AI推論更為顯著,因為以FP8這樣更低的精度進行運算,能夠降低涉及資料傳輸與運算的延遲,能在面臨相同的硬體局限時,可處理更大的AI模型與批次作業。
6.3版強化Transformer引擎的使用,提供多種電腦視覺程式庫
2024年12月初,ROCm 6.3登場,AMD同樣選出5大特色。其中一項,是針對驅動當代AI得以快速起飛的Transformer模型應用方式,提供最佳化處理;AMD也標榜ROCm提供模型加速程式庫FlashAttention-2,相較於FlashAttention-1,在後向傳遞與前向轉送的作業上,速度可提升2至3倍,能加快模型訓練與推論,藉此縮短企業AI解決方案推出的時間,而且可提升記憶體使用率、降低I/O負擔,使AMD Instinct GPU能處理較長的運算工作序列。
而在ROCm 6.3.0版當中,AMD透過運算程式庫ROCm Composable Kernel(CK),以及對Open AI編譯器Triton進行預先編譯的程式庫AOTriton的幫忙,將基於CK與Triton的Flash Attention核心整合到GPU的Transformer Engine引擎執行,因此,現在的Transformer Engine的搭配更有彈性,可選擇已針對AMD GPU進行最佳化的深度學習注意力(Attention)解決方案。
另一個AMD強調的ROCm特色,是提供新一代Fortran語言編譯器,可針對以Fortran寫成的傳統HPC應用程式,提供GPU加速機制,像是OpenMP作業可卸載至AMD Instinct GPU執行,既有的Fortran程式碼能充分運用AMD現行與下一代GPU的功能,透過異質運算可移植介面(HIP)平臺運作的GPU核心元件HIP Kernels,以及ROCm提供的程式庫,能簡化程式碼整合工作,不需重新撰寫複雜的Fortran程式碼。
關於電腦視覺程式庫的強化,也是ROCm 6.3主打的重點特色,可協助開發者處理多媒體與相關資料集,提供更有效率的預先處理與內容增益工具。以影片類型的資料為例,ROCm提供的rocDecode與rocPyDecode,可支援AV1編解碼,提供具有成本效益的影音處理機制;針對圖片資料的處理,ROCm透過具有可回復先前處理(fallback)機制的rocJPEG,提供支援GPU加速的JPG高效率解碼能力,能夠順暢進行圖片預先處理。在音訊資料的部分,ROCm經由rocAL 的協助,可針對嘈雜環境,改善AI模型訓練的聲音資料預先處理能力。
除此之外,ROCm 6.2推出之際,AMD提到的效能分析工具Omnitrace、Omniperf,現已改名為ROCm System Profiler、ROCm Compute Profiler。
ROCm System Profiler可針對執行在CPU或CPU與GPU的應用程式,提供高階的效能剖析與全面的追蹤,這套工具會產生與輸出相容於Perfetto這套效能分析與追蹤工具的內容,以此呈現分析結果。
ROCm Compute Profiler則是針對執行在Instinct系列GPU的機器學習與高效能運算工作負載,提供核心層級的效能剖析機制,對於Radeon GPU的相關支援,AMD目前正在開發中。
產品資訊
AMD ROCm 6.3
●原廠:AMD
●建議售價:廠商未提供
●支援作業系統版本:Linux,Ubuntu(24.04 / 6.8版核心,22.04 / 5.15版核心)、Debian(12 / 6.1版核心)、Red Hat Enterprise Linux(9.5 / 5.14.0版核心,9.4 / 5.14.0版核心,8.10 / 4.18.0版核心)、Oracle Linux(8.10 / 5.15.0版核心)、SUSE Linux Enterprise Server(15.6 / 6.4.0版核心,15.5 / 5.14.21版核心)、Azure Linux(3.0 / 6.6版核心)
●支援GPU產品:AMD Instinct(MI325X、MI300X、MI300A、MI250X、MI250、MI210、MI100,CDNA架構第1至3代)、AMD Radeon PRO(V710、W7900 Dual Slot、W7900、W7800、W6800、V620,RDNA架構第2至3代)、AMD Radeon(RX 7900 XTX、RX 7900 XT、RX 7900 GRE,RDNA架構第2至3代)
【註:規格與價格由廠商提供,因時有異動,正確資訊請洽廠商】
熱門新聞
2025-02-08
2025-02-11
2025-02-10
2025-02-08
2025-02-10
2025-02-08