15GBのモデルが載らない? Radeon RX 9060 XT でローカルLLMを動かすとき、最初に決めること|RX 9060 XT 連載 第1話
ubuntuで使っているデスクトップPCのPCIeスロットに、AMDのグラフィックボード Radeon RX 9060 XT を挿しました。
AMDのGPUでローカルLLMを動かすには ROCm という仕組みを入れる、という話をよく見かけます。何も入れていない状態で、ローカルLLMのソフトからこのカードは見えるのでしょうか?
そして見えたとして、次に決めることがあります。どの大きさのモデルまで載るのか。2枚挿しのとき、どちらに載せるのか。載り切らなかったら、どうなるのか。挿した直後に迷うのは、だいたいこのあたりです。
2026年9月時点の実測です。
前回の記事はこちら
使用した機器の概要
挿し替え先のデスクトップPCは、下記のとおりです。このPCには以前から RTX 3090 が入っており、そこへ RX 9060 XT を足した2枚差しの状態です。
| CPU | AMD Ryzen 9 3950X(16コア) |
| メモリー | 62GB |
| GPU | RTX 3090(CPU直結のスロット)、ASUS DUAL Radeon RX 9060 XT 16GB(今回追加・チップセット側のスロット) |
| OS | Ubuntu 24.04.4 LTS(カーネル 7.0.0-30-generic) |
| 画面出力 | RTX 3090 に接続(RX 9060 XT にはモニタをつないでいない) |
使用したGPU:ASUS DUAL Radeon RX 9060 XT 16GB(DUAL-RX9060XT-16G)
16GBのメモリを積んだ、AMDの現行世代のグラフィックボードです。今回挿したのは ASUS の DUAL-RX9060XT-16G という型番のもの(以下、RX 9060 XT)で、ファンが2つ付いた2スロットぶんの厚みのカードです。デスクトップPCに挿して使うもので、今回もそのとおりに挿しています。
[kimono_product id="17459″]
何を確かめたのか
速度は次回に回し、今回は挿し替えた直後の状態だけを見ました。確かめたのは4つです。
- ROCm を入れずに、ローカルLLMを動かすソフトから見えるか
nvidia-smiにこのカードが出るのか- 使えるメモリは何MiBと出るか
- どの大きさのモデルまで載るのか
- 載り切らなかったときに、何が起きるのか
- どれくらいの速さが出るのか
- 何もしていないときの消費電力
ROCmを入れずに、見えるのか?
結果から書くと、何も入れずに見えました。この機体に /opt/rocm はなく、rocm-smi も入っていません。カードは Linux 標準の amdgpu というドライバに掴まれており、そこから Vulkan(GPUの種類を問わない描画・計算の仕組み)を経由して認識されています。
ローカルLLMを動かすソフト(Ollama)を起動したときに出るGPUの一覧が、こうなりました。
2枚とも並んでいます。NVIDIA側は CUDA、AMD側は Vulkan という別々の経路で掴まれている点が、この一覧から読み取れます。合わせて約39GBのGPUメモリが、1台の中に載っている状態です。
ここで注意したいのは、見えることと速いことは別だという点です。Vulkan 経由で動いたときにどれくらいの速さが出るのかは、まだ測っていません。
nvidia-smi に、AMDのカードは出ない?
GPUの状態を見るとき、nvidia-smi というコマンドを使う方が多いと思います。このコマンドで確認したところ、表示されたのは RTX 3090 だけでした。
この表示は正常です。nvidia-smi は NVIDIA のドライバに付属する道具で、AMDのカードは最初から対象外です。ここに出ないことを「認識されていない」と読むと、カードが刺さっているのに無いものとして扱ってしまいます。
AMD側は、次の2つで見ます。
2枚挿しで、どちらのGPUを使わせるのか
GPUが2枚あると、次に困るのが「どちらで動いているのか」です。片方だけで測りたいときや、片方を別の用途に空けておきたいときは、使うGPUを指定する必要があります。
手元の環境で効いたのは、次の3つの環境変数でした。Ollama を起動するときに渡します。
ここで分かったことが1つあります。OLLAMA_VULKAN=1 を付けると、NVIDIAのカードも Vulkan 経由で見えます。同じ RTX 3090 を CUDA で動かした場合と Vulkan で動かした場合を比べられる、ということです。GPUの違いと、動かす仕組みの違いを分けて考える材料が取れます。
指定できたかどうかは、起動時のログに出るGPUの一覧が1行だけになっているかで確かめます。この状態で phi4-mini を動かしたところ、RX 9060 XT 側で 71.43 tok/s という値が出ました。まとまった測定は次回に回しますが、動くことはここで確かめています。
指定できたのか、どこで確かめるのか
この指定がうまくいったかどうかの確かめ方で、ひとつ落とし穴を踏みました。手順として役に立つので、経緯ごと書いておきます。
最初は、いつもと違う番号(ポート)でソフトをもう1つ起こし、そちらへ指定を効かせるつもりでした。起こしたあと、その番号へ問い合わせるとちゃんと応答が返ってきます。そこで小さいモデルを動かしたところ、172 tok/s という速い値が出ました。AMD側を指定したはずなのに、この速さはNVIDIA側の値です。ここで「指定しても NVIDIA が選ばれてしまうのか」と結論を出しかけました。
調べると、そうではありませんでした。その番号には、起動時から別のサービスが先に居たのです。こちらが起こしたほうは「その番号は使用中です」と言って静かに終了しており、問い合わせに答えていたのは最初から居たほうでした。指定した設定は、どこにも届いていません。
やり直したときの手順が、そのまま確認方法として使えます。
- 空いている番号を先に確かめてから使う(先客が居ない番号を選ぶ)
- 起こしたらプロセス番号を控える。番号が残らなければ、その時点で起動に失敗している
- 起動時のログに出るGPUの一覧を読む。ここが、どのGPUに載るのかの唯一の確証になる(AMD側だけを指定できたときは、一覧が1行だけになり、NVIDIA側が消える)
- モデルを載せたあと、そのGPUのメモリ使用量が実際に増えたかを見る。手元では 532MiB から 3,481MiB へ増えたことで確かめました
速度を見て判断すると、今回のように逆の結論が出ます。載った場所を直接見るほうが確実でした。
使えるメモリは、いくつと出るのか
| 見る場所 | 値 |
|---|---|
/sys/class/drm/card2/device/mem_info_vram_total | 17,095,983,104 バイト(16,304 MiB) |
| Ollama の起動時の一覧 | total 15.9GiB / available 15.4GiB |
カタログの「16GB」に対して、実際に使える側は 15.4GiB と出ました。表示の単位が違うことに加えて、画面表示などに少し使われるため、丸ごと16GBが空いているわけではありません。16GBちょうどのモデルを載せようとすると、ここで足りなくなります。
どの大きさのモデルまで載るのか
ここがいちばん実用的なところです。表示は16,304 MiBですが、モデルを置く場所のほかに、途中の計算に使う場所も要ります。数字どおりには載りません。
手元にあった Qwen3.8-27B の量子化違いを、大きい順に載せてみた結果です(2026年9月6日の実測)。
| 刻み | ファイルの大きさ | 結果 | 読ませる速さ | 書く速さ |
|---|---|---|---|---|
| UD-Q2_K_XL | 9.15 GiB | 載った | 596.3 tok/s | 24.5 tok/s |
| UD-Q4_K_S | 14.30 GiB | 載った | 562.3 tok/s | 17.5 tok/s |
| UD-Q4_K_M | 15.33 GiB | 載らない | — | — |
| UD-Q5_K_M | 18.41 GiB | 載らない | — | — |
| UD-Q6_K | 20.47 GiB | 載らない | — | — |
境目は UD-Q4_K_S と UD-Q4_K_M の間にありました。UD-Q4_K_M は必要な量が16,397 MiBで、使える16,304 MiBを93 MiB 超えています。ファイルの大きさで言えば15.33 GiBですから、16GBのカードなのに載りません。
「16GBだから15GBのモデルは載る」とはいきません。途中の計算に使う場所のぶん、1GBほど余裕を見ておくと、おおむね合います。
載り切らなかったとき、何が起きるのか
載らないと、そこで止まるわけではありません。入りきらない分をCPU側へ回して、動き続けます。ただし、速さも消費電力も別物です。
| モデル | GPUに載った割合 | 書く速さ | 生成中の電力 |
|---|---|---|---|
| qwen3:8b(5.57GB) | 全部 | 52.9 tok/s | 151 W |
| qwen3-coder:30b(19.57GB) | 77.6% | 31.6 tok/s | 42 W |
速さが落ちるのは想像がつきますが、電力まで下がります。151Wから42Wです。GPUが仕事をしていないから下がっている、という形です。CPU側の処理を待っている時間が長く、その間GPUは手を止めています。
電力が下がっていたら、それは省エネではありません。載り切っていない合図だと思ってください。
どれくらいの速さが出るのか
手元の5枚のGPUを、同じモデル・同じ測り方で並べた結果です(2026年9月6日の実測)。バックエンドはすべてVulkanに揃えました。
| GPU | 書く速さ(8B) | 書く速さ(14B) | 生成中の電力 | 何もしていないとき |
|---|---|---|---|---|
| RTX 3090 24GB | 119.9 tok/s | 77.5 tok/s | 344 W | 15.4 W |
| RTX 5060 Ti 16GB | 74.8 tok/s | 44.0 tok/s | 161 W | 2.5 W |
| RX 9060 XT 16GB | 54.5 tok/s | 32.1 tok/s | 159 W | 3.0 W |
| RTX 3060 12GB | 54.5 tok/s | 35.3 tok/s | 180 W | 13.9 W |
同じ16GBの RTX 5060 Ti と比べると、書く速さは7割ほどでした。一方で、何もしていないときの電力は3.0Wと低いほうです。つけたままにしておく使い方なら、ここは効いてきます。
もう一つ、測っていて気づいたことがあります。この4枚は、書く速さがメモリの帯域幅とほぼ同じ比率で並びました。差は2〜4%以内です。カードのメーカーが違っても、帯域幅を見れば見当が付くということです。
何もしていないとき、何ワット使っているのか
常時つないでおく機材では、待機している間の消費電力が効いてきます。1秒ごとに30回測った中央値です。
| GPU | 待機中 | 上限 | 条件 |
|---|---|---|---|
| RX 9060 XT(直挿し) | 3.5W(最小3.0/最大6.0) | 160W | モニタをつないでいない |
| RTX 3090(同じ機体) | 14.58W | 350W | モニタとデスクトップ画面を担当している |
この2つは同じ条件ではありません。RTX 3090 は画面表示を受け持っているため、その分が乗っています。並べて優劣を言える数字ではなく、それぞれの状態での値として見てください。
その上で、待機3.5Wという値そのものは、つけっぱなしにする機材として扱いやすい部類でした。以前 Intel Arc B580 を測ったときは待機34Wで、そこは弱点として書いています。
この記事で確かめていないこと
- 速度はまだ測っていません。Vulkan 経由で動くことと、速く動くことは別です
- ROCm は入れていません。入れた場合に何か変わるのかは分かりません
- 今回の挿し先はチップセット側のスロットで、CPU直結ではありません。これが何を遅くするのかは次回に測ります
まとめ〜挿した直後に分かったこと
- Radeon RX 9060 XT は、ROCm を入れなくてもローカルLLMのソフトから見えた。amdgpu と Vulkan の経路で認識される
- RTX 3090 と並んで一覧に出る。NVIDIA側は CUDA、AMD側は Vulkan で、1台に合計約39GBのGPUメモリが載った
nvidia-smiに AMD のカードは出ない。出ないのが正常。AMD側は/sysとソフトの起動ログで見る- 使えるメモリは 16,304 MiB。Ollama の表示では available 15.4GiB で、16GBが丸ごと空いているわけではない
- 待機電力は 3.5W(モニタ非接続・1秒ごと30回の中央値)。上限は160W
挿して最初に気になるのは速度ですが、その前段の「見えているのか」「どう見えているのか」で、意外と足を取られます。特に nvidia-smi に出ないところは、NVIDIAのカードに慣れているほど引っかかる場所でした。
手元でローカルLLMを動かすとき、GPUを1枚足すという選択は、容量を増やす一番わかりやすい方法です。次回は、このカードがどれくらいの速さを出すのかを測ります。
検証に使用した機材
今回 挿し替えたグラフィックボードです。
[kimono_product id="17459″]