もくじIndex

イメージでわかる「対応している」の意味

What "Supported" Really Means

What "Supported" Really Means

シリーズ: イメージでわかる

「対応GPU」と言っても、ビルドできる・動く・速い・公式に推奨される、は全部同じではないことを分解してやさしく説明します。

When someone says a GPU is "supported," that can mean very different things: buildable, runnable, optimized, or officially recommended. Let's break it down.

1. 「対応しています」のワナ

1. The Trap of "It's Supported"

「このソフトは Vega 対応です」と聞いたら、ふつうは「じゃあ動くんだ!」と思いますよね。

When you hear "This software supports Vega," you'd normally think "Great, it works!" Right?

でも実は、「対応」にはいろんなレベルがあります。ちょうど、お店が「お子さま歓迎」と言っても、「キッズメニューがある」「キッズチェアがある」「単に入店を断らない」ではぜんぜん違うのと同じです。

But "supported" actually has many levels. It's like when a restaurant says "Kids welcome" — that could mean "We have a kids' menu," "We have high chairs," or just "We won't turn you away at the door." Very different things.

🏪 たとえ話: 🏪 Analogy: スマホの対応OSに「iOS 15以降」と書いてあるアプリがあるとします。iOS 15 でとりあえず動く(=ビルドされている)のと、iOS 15 で快適に動き表示も最適化されている、のはまったく別の話です。 Imagine an app listing "iOS 15 or later." It might technically run on iOS 15 (it was built for it), but that's completely different from running smoothly with a fully optimized UI on that version.

2. 「対応」の5段階

2. Five Levels of "Support"

ソフトウェアが GPU を「対応している」と言うとき、だいたいこの5段階のどこかにいます。

When software claims GPU "support," it usually falls somewhere in these five levels.

🚫

Level 0: 対応していない(Unsupported)

Level 0: Not Supported

ビルド設定にも含まれない。動かしようがない。完全に門前払い。

Not included in build configuration. Can't run at all. Completely shut out.

🔨

Level 1: ビルドできる(Build Support)

Level 1: Buildable (Build Support)

ソースコードに、その GPU 向けのコンパイル設定がある。ソフトを作ること自体はできる。でも「動くか」はまだ別の話。

The source code includes compilation settings for this GPU. The software can be built, but whether it actually runs is another question.

Level 2: 実行できる(Runtime Support)

Level 2: Runnable (Runtime Support)

ソフトが起動して、その GPU で計算が走る。エラーで落ちない。でも遅いかもしれないし、一部の機能は使えないかもしれない。

The software starts and the GPU actually runs computations. No crashes. But it might be slow, or some features might be unavailable.

🏎️

Level 3: 最適化されている(Optimized Support)

Level 3: Optimized (Optimized Support)

その GPU で速くなるように、チューニングされた計算パスが用意されている。専用の solver やカーネルが存在する。

Tuned computation paths are available for this GPU. Dedicated solvers or kernels exist to get the best performance.

📋

Level 4: 公式に推奨(Officially Recommended)

Level 4: Officially Recommended

メーカーのドキュメントに「対応GPU」として載っている。テストされていて、問題が出たら修正される可能性が高い。

Listed in official documentation as a supported GPU. Tested, and issues are likely to be fixed.

📝 注記: 📝 Note: このページの Level 1〜4 は、理解しやすくするための説明用ラベルです。AMD や ROCm が公式にこの番号で発表しているわけではありません。 The Level 1–4 labels on this page are explanatory labels for understanding. They are not official numbered labels published by AMD or ROCm.

3. gfx900 はどのレベルにいるの?

3. Where Does gfx900 Stand?

ここがおもしろいところです。gfx900 は、レイヤーによってレベルが違います

Here's where it gets interesting. gfx900's level varies by layer.

たとえば:

For example:

ドライバ(amdgpu)→ ふつうに動く ≒ Level 2
ランタイム(HIP)→ 動く ≒ Level 2
rocBLAS → 動く。古い最適化はある ≒ Level 2〜3 のあいだ
MIOpen → 一部の solver は動くが、新しいものは使えない ≒ Level 2(部分的)
公式ドキュメント → 推奨リストからは外れた ≒ Level 4 ではない

Driver (amdgpu) → Works fine ≒ Level 2
Runtime (HIP) → Works ≒ Level 2
rocBLAS → Works, with some legacy tuning ≒ Between Level 2–3
MIOpen → Some solvers run, newer ones don't ≒ Level 2 (partial)
Official docs → No longer on the recommended list ≒ Not Level 4

つまり gfx900 は「完全に対応外(Level 0)」でもなく「公式推奨(Level 4)」でもない、あいだの複雑なところ にいます。どこが動いて、どこが止まるかは、層ごとに調べないとわからないのです。 In other words, gfx900 is neither completely unsupported (Level 0) nor officially recommended (Level 4). It's in a complex middle ground where support varies layer by layer.
⚠️ よくある誤解: ⚠️ Common misconception: 「公式リストに載っていない=まったく動かない」ではありません。また逆に「ビルドが通る=問題なく使える」でもありません。この「不一致」こそが、調査で明らかになった重要な発見のひとつです。 "Not on the official list" ≠ "completely broken." And conversely, "it builds" ≠ "it works perfectly." This mismatch is one of the key findings of this research.

4. なぜこんなにややこしいの?

4. Why Is It So Complicated?

ROCm は何十ものリポジトリから成る巨大プロジェクトです。各層は別々のチームが開発しています。だから「対応」の判断も層ごとにバラバラになりがちです。

ROCm is a massive project made of dozens of repositories, each developed by different teams. So "support" decisions are made per layer, often independently.

さらに、GPU の世代交代は段階的に進みます。「ある日突然 gfx900 がオフになる」のではなく、「新しい最適化が gfx900 向けには作られなくなる」「テストリストから外れる」「デフォルトビルドから除かれる」と、少しずつ後退していきます。

GPU support doesn't disappear overnight. Instead, it fades gradually: new optimizations stop being made for gfx900, it drops off test lists, gets removed from default builds — a slow retreat across many layers.

🚉 たとえ話: 🚉 Analogy: 鉄道のダイヤ改正で、ある駅に止まる急行が減り、快速も通過になり、でも各駅停車はまだ止まる。「廃駅にはなっていないけど、だんだん不便になっていく」。gfx900 の状況はこれに似ています。 Imagine a train timetable revision: express trains stop calling at your station, then rapid services skip it too, but local trains still stop. "The station isn't closed, but it's getting less and less convenient." That's similar to gfx900's situation.

5. まとめ

5. Summary

「対応している」は1種類ではない。 ビルドできる、実行できる、最適化されている、公式に推奨されている、の少なくとも4段階がある。

"Supported" is not one thing. There are at least four levels: buildable, runnable, optimized, and officially recommended.

gfx900 は層ごとにレベルが違う。 ドライバは動くのに、ライブラリの一部では最適化パスがない、といった不均一が存在する。

gfx900's support level varies by layer. The driver works fine, but some libraries lack optimized paths — an uneven landscape.

「対応」の後退は段階的に起きる。 一夜にして消えるのではなく、徐々に便利でなくなっていく。

Support fades gradually. It doesn't vanish overnight; it slowly becomes less convenient.