聚焦 AI 與 HPC 應用需求,AMD ROCm GPU 開發平台邁入第 6 版

深度學習與生成式 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 InstinctMI325X、MI300X、MI300A、MI250X、MI250、MI210、MI100
AMD Radeon PROV710、W7900 Dual Slot、W7900、W7800、W6800、V620
AMD RadeonRX 7900 XTX、RX 7900 XT、RX 7900 GRE

整體而言,ROCm 6.3 已從單純的 GPU 運算開發平台,逐步擴展為涵蓋 AI 框架、模型推論、HPC 編譯、媒體資料處理與效能分析的軟體堆疊。不過,不同 GPU、作業系統及功能的支援範圍仍有差異,例如部分效能工具目前以 Instinct 為主要支援對象,Radeon GPU 支援仍在開發中。

Related Articles

Stay Connected

0FansLike
0FollowersFollow
22,800SubscribersSubscribe
spot_img

Latest Articles