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.
「このソフトは 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.
ソフトウェアが GPU を「対応している」と言うとき、だいたいこの5段階のどこかにいます。
When software claims GPU "support," it usually falls somewhere in these five levels.
ビルド設定にも含まれない。動かしようがない。完全に門前払い。
Not included in build configuration. Can't run at all. Completely shut out.
ソースコードに、その GPU 向けのコンパイル設定がある。ソフトを作ること自体はできる。でも「動くか」はまだ別の話。
The source code includes compilation settings for this GPU. The software can be built, but whether it actually runs is another question.
ソフトが起動して、その GPU で計算が走る。エラーで落ちない。でも遅いかもしれないし、一部の機能は使えないかもしれない。
The software starts and the GPU actually runs computations. No crashes. But it might be slow, or some features might be unavailable.
その GPU で速くなるように、チューニングされた計算パスが用意されている。専用の solver やカーネルが存在する。
Tuned computation paths are available for this GPU. Dedicated solvers or kernels exist to get the best performance.
メーカーのドキュメントに「対応GPU」として載っている。テストされていて、問題が出たら修正される可能性が高い。
Listed in official documentation as a supported GPU. Tested, and issues are likely to be fixed.
ここがおもしろいところです。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
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.
「対応している」は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.