もくじIndex

イメージでわかる ROCm の全体構造

Visual Guide to the ROCm Stack

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.

1. ROCm ってそもそも何?

1. What Is ROCm, Anyway?

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.

🏢 たとえ話: 🏢 Analogy: ROCm を「5階建てのオフィスビル」だと思ってください。1階は GPU 本体、最上階はあなたが使うアプリ。あいだのフロアには、通訳や受付や専門スタッフがいて、上からの注文を下まで届けてくれます。 Think of ROCm as a 5-story office building. The ground floor is the GPU hardware, the top floor is the app you use. The floors in between have translators, receptionists, and specialists who pass your requests down to the hardware.

2. ROCm の「5階建て」

2. The 5-Floor ROCm Building

上から順に見ていきましょう。

Let's walk through it from top to bottom.

5F

アプリケーション — あなたが使うソフト

Application — The Software You Use

PyTorch、Ollama、画像生成ツールなど。ここが「お客さん」にあたります。「この計算をやって!」と注文を出す役割。

PyTorch, Ollama, image generators, etc. This is the "customer" placing an order: "Please run this computation!"

4F

数学ライブラリ — 専門の計算チーム

Math Libraries — Specialized Calculation Teams

rocBLAS(行列計算の達人)、MIOpen(AI推論の達人)などがここにいます。注文された計算を、GPU に合った形に変換してくれます。

rocBLAS (matrix calculation expert) and MIOpen (AI inference expert) live here. They translate your computation request into GPU-friendly operations.

3F

ランタイム — 受付と配達係

Runtime — Reception & Delivery

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?"

2F

ドライバ — 通訳

Driver — The Translator

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).

1F

GPU ハードウェア — 実際に計算する本体

GPU Hardware — The Actual Computing Chip

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.

💡 ポイント: 💡 Key point: PyTorch でモデルを GPU に送り、推論や学習を始めると、注文が 5F→4F→3F→2F→1F と階段を下りていきます。最終的に GPU のコアが計算して結果を上に返す。この一連の流れが ROCm の仕事です。 When PyTorch sends a model to the GPU and starts inference or training, the request travels 5F→4F→3F→2F→1F. The GPU cores compute the result and send it back up. That whole trip is what ROCm handles.

3. 各フロアの代表選手

3. Key Players on Each Floor

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.

🍽️ たとえ話: 🍽️ Analogy: レストランで言えば ── あなた(5F)が注文を出し、rocBLAS/MIOpen(4F)がレシピを決め、HIP ランタイム(3F)がキッチンに伝票を渡し、ドライバ(2F)がコンロの火加減を調整し、GPU(1F)が実際に料理する。 In restaurant terms: You (5F) place an order, rocBLAS/MIOpen (4F) decide the recipe, HIP runtime (3F) hand the ticket to the kitchen, the driver (2F) adjusts the burner, and the GPU (1F) actually cooks.

4. gfx900 はどこにいるの?

4. Where Does gfx900 Fit In?

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."

この研究では、gfx900 が ROCm の各フロアで「まだ仕事をもらえるのか?」「どこから先は断られるのか?」を調べています。それが 「対応している」の意味 の話につながります。 This research investigates where gfx900 can still "get work" across ROCm's floors, and where it gets turned away. That connects directly to the question of What "Supported" Really Means.

5. まとめ

5. Summary

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.