ROCm 是什麼?
ROCm 全名 Radeon Open Compute Project,是 AMD 所主導的開放加速運算生態,透過 HIP 語言來撰寫 GPU 程式。
ROCm 最主要的目的是對標 NVIDIA CUDA 並提供開放的生態、同價位下更高規格,或是同規格更便宜的產品,透過更高的可自訂性和性價比讓不論是國家計劃還是大小企業甚至個人使用者都可能成為客戶。
ROCm 的現狀
許多國家級超級電腦都使用 AMD Instinct 系列 GPU 來建,例如美國的 El Capitan 和澳洲的 Pawsey Supercomputing Research Centre,近期也收到許多超大訂單如 Meta 的 1GW 採購案。
在 2025 年 6 月最新的 TOP500 榜單,其中排名第一的 El Capitan 和第二的 Frontier 都是以 AMD Instinct GPU 加速,跑在 ROCm 生態上。
我和 ROCm
這篇文大概可以算是整個大三生活的重心統整了,我幾乎投入了過半時間研究 ROCm 從頂層策略到底層行爲。
我在自己的 RX 9070 XT 上透過 ROCm Docker container 成功跑起 ComfyUI,平常跑跑 LLM inference 和一些科學運算也都很穩。
rocOdyssey
這是我第一個做到從 CUDA 移植到 ROCm 上的專案,內容是基於廣義相對論的黑洞光線追蹤,原始程式碼由臺師大卜宏毅教授所寫,用於論文。
我透過 hipify-perl 並手動處理 CMake 成功移植到 ROCm 後有成功算出幾張圖:
專案範例

美術圖 1

美術圖 2

我在 ROCm 的開源貢獻
我非常着迷於 ROCm,因此我也發過一些 Pull Request 到各種的 GitHub 倉庫,例如:
ROCm/rocHPL 這是一個 ROCm 版本的 HPL,世界上超級電腦榜單 TOP500 所使用的跑分軟體,這個 PR 是為了修正 gfx1201 GPU 上的 CMake 編譯問題,讓它能夠在 Radeon 9000 系列 GPU 上跑起來。
GitHub/linguist 這是一個用於 GitHub 語言統計的工具,我的 PR 是為了讓它能夠辨識 ROCm 的 HIP 語言,這樣在 GitHub 上看到的 ROCm 專案就不會被誤判成 C++ 或其他語言,統計圖表也能正確計算 HIP 的佔比。
GitHub/gitignore 這是用於 git 的 .gitignore 模板倉庫,我的 PR 是為了新增一個 ROCm 的 .gitignore 模板,裡面包含了 AMD 官方給的 ignore 模板,讓開發者在建立 ROCm 專案時可以使用這個模板來忽略不必要的檔案。
這些貢獻對我來說不只是技術練習,是在讓這個開放生態更完整一點。每一個能正確識別 HIP 的 GitHub 統計、每一個能在 Radeon 上跑起來的 benchmark,都讓 ROCm 作為 CUDA 替代方案更可信一點。
爲什麼一般人要關心 ROCm?
原因主要是:你的運算自由不應該由一家公司決定。
ROCm 是開放標準,HIP 程式碼可以在 AMD 和 NVIDIA 上跑(目前相容性還在改善中),至少還擁有可攜性,不會被 NVIDIA 的商業策略綁架。
對於普通人來說,想要擁有個人的 AI 用於 Agent 或是問答,ROCm 也提供了更便宜的選擇,2026 年的今天要架起來也已經幾乎沒有門檻。
對於像我這種熱愛自由軟體的學生來說,開放生態本身就是目的,省下的支出是附帶的好處。
對科學家
如果你是科學家或需要做真實世界模擬的人,AMD Instinct 系列 GPU 在 FP64 表現遠超 NVIDIA 同級距的產品,我個人認爲 NVIDIA 爲了 AI 已經慢慢在消費級和部分專業級產品上削減 FP64,Instinct 的性價比和開放性是非常有吸引力的選擇。
CUDA 的封閉性意味著你的程式碼、你的工作流、你的研究成果都隱性綁定在 NVIDIA 的生態裡。
後續
我可能會再寫幾篇有關 ROCm 和 Radeon, Instinct 產品線的文,用來衡量它在科學運算和 AI 推理生態中所處的位置。