深度學習與生成式 AI 應用持續成長,帶動 GPU 加速運算在消費端、專業工作站及資料中心的軟硬體需求。相較於 NVIDIA 以 CUDA 建立完整的 GPU 軟體生態系,AMD 則透過開放原始碼的 Radeon Open Compute Platform(ROCm),為旗下 Instinct、Radeon PRO 與 Radeon GPU 提供程式開發環境。
ROCm 最初於 2016 年 11 月發布,定位為支援 AMD GPU 的開放軟體運算平台。經過多次版本更新後,目前已發展至 6.3.2 版,而 2024 年 12 月初推出的 ROCm 6.3,則進一步強化生成式 AI、Transformer、HPC 與電腦視覺等應用能力。

ROCm 的技術堆疊與支援範圍
ROCm 的底層由 AMD GPU 硬體及支援的作業系統組成,上層則可搭配 JAX、ONNX Runtime、PyTorch 與 TensorFlow 等 AI 軟體框架。ROCm 本身由多種開放原始碼元件構成,涵蓋低階執行核心至高階應用程式,主要包括程式庫、工具、編譯器與執行時期環境。
在程式庫方面,ROCm 可分為機器學習與電腦視覺、通訊、數學計算及基礎運算單元(Primitives)四大類;工具則包括系統管理、效能分析與開發工具。
ROCm 6.0 於 2023 年 12 月發布,開始支援 AMD 新一代資料中心 GPU Instinct MI300 系列,並改善效能、框架與程式庫支援,以及開發者使用體驗。以作業系統搭配而言,Ubuntu 22.04.5 可支援 MI300X 與 MI300A;RHEL 8.9 及 SLES 15 SP5 則支援 MI300A。

ROCm 6.0:導入 Instinct MI300 與生成式 AI 功能
AMD 在 2023 年 12 月初發表 Instinct MI300X 時表示,若以執行 Llama2-70b 文字生成 AI 對答工作負載進行測試,新一代組合可提供較前代方案 8 倍的效能。前代方案為兩顆 AMD EPYC 7763 處理器、四個 AMD Instinct MI250 GPU 加速器及 ROCm 5.4.3;新方案則採用兩顆 Intel Xeon Platinum 處理器、四個 AMD Instinct MI300 GPU 加速器及 ROCm 6.0。
ROCm 6 亦針對生成式 AI 應用加入或強化 FlashAttention、HIPGraph 與 vLLM 等功能,藉此支援大型語言模型訓練與推論工作負載。

ROCm 6.1:擴大支援 Radeon 與 WSL2
ROCm 6.1.0 於 2024 年 4 月推出,主要改善 Instinct MI300 系列 GPU 的應用穩定度與效能。兩個月後發布的 ROCm 6.1.3,則進一步擴大對消費型與專業型 GPU 的支援。

支援的消費型產品包括 Radeon RX 7900 GRE、7900 XT 與 7900 XTX;專業型產品則包括 Radeon PRO W7800、W7900 及 W7900 Dual Slot。搭配 ROCm 後,這些 GPU 可用於資料平行處理、獨立 AI 推論及結果輸出,也能支援多位使用者共用 GPU 的設定。
ROCm 6.1.3 另提供對 Windows 10 與 Windows 11 內建 Linux 執行環境 WSL2(Windows Subsystem for Linux 2)的 Beta 等級支援。開發者可在 Windows 環境直接執行通常運作於 Linux 的 AI 工具,無須另行安裝 Linux 或透過雙重開機切換系統。
在 AI 框架方面,ROCm 6.1.3 除原有的 PyTorch 與 ONNX 支援,也加入 TensorFlow,讓開發者有更多框架選擇。

ROCm 6.2:強化 vLLM、FP8 與效能分析
ROCm 6.2 於 2024 年 8 月推出,重點之一是強化 AMD Instinct GPU 對大型語言模型推論框架 vLLM 的支援,以改善模型效率與延展性。
此版本針對大型語言模型增加 FP16 與 BF16 精度處理能力,並為 Llama 模型提供 FP8 精度支援。同時支援多 GPU 執行、FP8 KV cache、FP8 GEMM,以及 Custom Decode Paged Attention 等功能。

FP8 透過較低精度的資料格式降低資料傳輸與運算延遲,在硬體資源相同的情況下,有機會處理更大型的 AI 模型或更大的批次作業。ROCm 6.2 也透過 hipBLASLt,在 PyTorch 與 JAX 中加入 FP8 GEMM 支援;JAX 及基於 JAX 的 Flax,則可透過 XLA 即時編譯器支援 FP8 GEMM。
為簡化安裝流程,ROCm 6.2 提供 Offline Installer Creator,讓使用者透過整合多項功能的圖形介面製作離線安裝程式。此外,Omnitrace 與 Omniperf 以 Beta 版本形式加入效能剖析工具,分別用於跨 CPU、GPU、網路介面及網路互連架構的系統級分析,以及 GPU 核心層級的細部分析。


ROCm 6.3:最佳化 Transformer 與傳統 HPC 工作負載
ROCm 6.3 於 2024 年 12 月初發布,重點包括 Transformer 最佳化、Fortran GPU 加速、電腦視覺程式庫,以及效能分析工具改名與功能調整。

FlashAttention-2 與 Transformer Engine
AMD 表示,ROCm 提供的 FlashAttention-2 相較 FlashAttention-1,在前向傳播與反向傳播作業上的速度可提升 2 至 3 倍,並有助於改善記憶體使用率、降低 I/O 負擔,讓 Instinct GPU 能處理較長的運算序列。
ROCm 6.3.0 透過 ROCm Composable Kernel(CK)及針對 OpenAI Triton 編譯器預先編譯的 AOTriton 程式庫,將基於 CK 與 Triton 的 FlashAttention 核心整合至 GPU Transformer Engine。開發者因此可選擇針對 AMD GPU 最佳化的 Attention 解決方案。
Fortran 與 OpenMP GPU 卸載
ROCm 6.3 提供新一代 Fortran 編譯器,能為以 Fortran 撰寫的傳統 HPC 應用程式提供 GPU 加速機制。例如,OpenMP 作業可卸載至 AMD Instinct GPU 執行,既有 Fortran 程式碼則可透過 HIP、HIP Kernels 與 ROCm 程式庫使用 AMD 現行及下一代 GPU 的運算能力,降低重新撰寫複雜程式碼的需求。
電腦視覺與多媒體資料處理
ROCm 6.3 強化多項電腦視覺程式庫,協助開發者進行多媒體資料與資料集的預先處理。
- rocDecode 與 rocPyDecode:支援 AV1 編解碼,提供影片資料處理能力。
- rocJPEG:具備 fallback 機制,提供 GPU 加速的 JPG 解碼。
- rocAL:協助處理音訊資料,改善嘈雜環境下 AI 模型訓練的聲音資料預先處理。

效能工具更名
ROCm 6.2 推出的 Omnitrace 與 Omniperf,在 ROCm 6.3 中分別更名為 ROCm System Profiler 與 ROCm Compute Profiler。
ROCm System Profiler 可針對執行於 CPU,或同時使用 CPU 與 GPU 的應用程式,提供高階效能剖析與完整追蹤,並輸出相容於 Perfetto 的分析內容。ROCm Compute Profiler 則針對 Instinct 系列 GPU 上的機器學習與 HPC 工作負載,提供核心層級的效能分析;AMD 表示,Radeon GPU 的相關支援仍在開發中。


ROCm 6.3 支援的作業系統與 GPU
| 類別 | 支援項目 |
|---|---|
| 作業系統 | Ubuntu 24.04、Ubuntu 22.04、Debian 12、RHEL 9.5、RHEL 9.4、RHEL 8.10、Oracle Linux 8.10、SLES 15.6、SLES 15.5、Azure Linux 3.0 |
| AMD Instinct | MI325X、MI300X、MI300A、MI250X、MI250、MI210、MI100 |
| AMD Radeon PRO | V710、W7900 Dual Slot、W7900、W7800、W6800、V620 |
| AMD Radeon | RX 7900 XTX、RX 7900 XT、RX 7900 GRE |
整體而言,ROCm 6.3 已從單純的 GPU 運算開發平台,逐步擴展為涵蓋 AI 框架、模型推論、HPC 編譯、媒體資料處理與效能分析的軟體堆疊。不過,不同 GPU、作業系統及功能的支援範圍仍有差異,例如部分效能工具目前以 Instinct 為主要支援對象,Radeon GPU 支援仍在開發中。




