Visual Guide to the ROCm Stack
シリーズ: イメージでわかる
アプリ、ライブラリ、ランタイム、ドライバ、GPU 本体まで、ROCm の全体像を「建物の階」のように見渡せるページです。
A beginner-friendly map of ROCm from applications and libraries down to the runtime, driver, and the GPU itself — visualized as floors of a building.
GPU をつかって計算するための「ソフトウェアの土台一式」です。
It's a complete software foundation for running computations on GPUs.
GPU はハードウェア、つまりパソコンの中の「部品」です。でも、部品だけがあっても、それに仕事を頼む仕組みがなければ何もできません。
A GPU is hardware — a physical component inside your computer. But hardware alone can't do anything without software to tell it what to do.
ROCm(Rock-um と読みます)は、AMD が開発している、GPU に仕事を頼むためのソフトウェア群をまとめた名前です。1つのソフトではなく、いくつもの層に分かれた「ソフトの建物」のようなものです。
ROCm (pronounced "Rock-um") is a collection of software developed by AMD for sending work to GPUs. It's not a single program — it's more like a multi-story building of software components.
上から順に見ていきましょう。
Let's walk through it from top to bottom.
PyTorch、Ollama、画像生成ツールなど。ここが「お客さん」にあたります。「この計算をやって!」と注文を出す役割。
PyTorch, Ollama, image generators, etc. This is the "customer" placing an order: "Please run this computation!"
rocBLAS(行列計算の達人)、MIOpen(AI推論の達人)などがここにいます。注文された計算を、GPU に合った形に変換してくれます。
rocBLAS (matrix calculation expert) and MIOpen (AI inference expert) live here. They translate your computation request into GPU-friendly operations.
HIP runtime が担当。上の階から来た計算の指示を受け取り、ドライバに渡します。「いま GPU は空いてる?」「メモリ足りる?」といった管理もここ。
Handled by the HIP runtime. It receives instructions from the upper floors and passes them to the driver. It also manages questions like "Is the GPU free?" and "Is there enough memory?"
amdgpu ドライバ+ KFD が担当。KFD は「GPU に送る仕事の列を管理する係」です。ソフトウェアの言葉を、ハードウェアがわかる命令に翻訳し、OS(Linux カーネル)の中で動いています。
Handled by the amdgpu driver and KFD. KFD is the part that manages the queue of jobs sent to the GPU. Together they translate software requests into commands the hardware understands inside the OS (Linux kernel).
Vega 56/64(gfx900)、MI-series、RDNA など。ここが「実際にホットケーキを焼く工場」。すべてのリクエストがここで物理的に実行されます。
Vega 56/64 (gfx900), MI-series, RDNA, etc. This is the actual "pancake factory" where all requests are physically executed.
rocBLAS — 行列の掛け算など、数学の基本計算をとにかく速くやる専門家。AI でいちばん使われる計算ライブラリのひとつ。
rocBLAS — The specialist for fast basic math like matrix multiplication. One of the most-used computation libraries in AI.
MIOpen — 畳み込みなど、深層学習に特化した計算を担当。「どのやり方(solver)が速いか?」を GPU ごとに調べて切り替えてくれる。
MIOpen — Handles deep learning specific operations like convolution. It figures out which method (solver) runs fastest on your particular GPU.
HIP — プログラマが GPU に仕事を渡すための共通窓口。上位のコードが GPU 世代の違いをあまり意識せずにすむようにする仕組み。
HIP — A common interface for handing work to the GPU. It helps upper layers avoid thinking too much about the differences between GPU generations.
gfx900 は、AMD Vega 56 / Vega 64 に搭載されている GPU チップの識別名です。つまり、このビルの 1階の住人の名前 です。
gfx900 is the identification code for the GPU chip inside AMD Vega 56/64. In our building metaphor, it's the name of the tenant on the 1st floor.
2017年に登場した gfx900 は、最新世代ではありません。でも、建物の上の階(ライブラリやランタイム)が対応していれば、いまでも仕事をもらえます。「古いけれど、まだ住んでいるし、まだ働ける」という状態です。
Released in 2017, gfx900 is not the latest generation. But as long as the upper floors (libraries and runtime) still support it, it can still receive work. Think of it as "old, but still living there and still employable."
ROCm は「1つのソフト」ではない。 アプリ → ライブラリ → ランタイム → ドライバ → GPU という5層のソフトウェアスタック全体の名前。
ROCm is not "one program." It's the name for the entire 5-layer software stack: App → Libraries → Runtime → Driver → GPU.
各層に専門家がいる。 rocBLAS は行列計算、MIOpen は深層学習、HIP はプログラマと GPU のあいだの通訳。
Each layer has specialists. rocBLAS for matrix math, MIOpen for deep learning, HIP for bridging programmers and GPUs.
gfx900 は1階の住人。 上の階が対応してくれるかぎり、まだ仕事ができる。対応の範囲を調べるのがこの研究。
gfx900 lives on the 1st floor. It can still work as long as the upper floors support it. Mapping that support is what this research is about.