メーカーの違うGPUを混ぜたらどうなるのか〜RTX 3090とIntel Arc B580で実測 Intel Arc B580ローカルLLM 第6話
このデスクトップPCには、NVIDIA GeForce RTX 3090(VRAM 24GB)と Intel Arc B580(12GB)が挿さっています。片方は NVIDIA、もう片方は Intel で、GPUメーカーが違います。単純に足せば 36GB ですが、メーカーの違うGPU 2枚を、1つのモデルを動かすために一緒に使うことはできるのでしょうか。
本記事では、2枚を同時に使って速度がどう変わるのか、そして出力の正しさが保たれるのかを実測した記録を残します。
2026年7月時点の内容です。
- 1. 使用した機器の概要
- 2. RTX 3090 と Arc B580 は一緒に使える? CUDA が使えない理由
- 3. llama.cpp を Vulkan で組み直す? つまずいた3か所
- 4. 2枚に分けると速くなる? 分けた分の負担を測る
- 5. 分け方と比率はどう選ぶ? 設定を変えて実測
- 6. 24GBに収まるモデルでは? 混ぜないほうが速かった
- 7. 文脈を伸ばすとどうなる? 混ぜる利点が消えていく
- 8. 24GBに収まらないモデルでは? ここで混ぜる価値が出た
- 9. 混ぜても答えは変わらない? 出力の正しさを確かめた
- 10. 考察:混載はどんなときに使うのか
- 11. まとめ
- 12. 参考にしたサイト
- 13. 検証に使用した機材
使用した機器の概要
測定に使ったデスクトップPCは、下記のとおりです。
| CPU | Ryzen 9 3950X |
| マザーボード | X570 |
| メモリー | 64GB |
| GPU | RTX 3090(24GB)、Intel Arc B580(12GB)の2枚 |
| OS | Ubuntu |
| 推論 | llama.cpp(Vulkanビルド) |
玄人志向 Intel Arc B580 搭載 グラフィックボード GDDR6 12GB AR-B580D6-E12GB/DF

12GB のVRAMを積んだカードです。今回は、このカードと RTX 3090 の2枚を同時に働かせます。
NVIDIA GeForce RTX 3090(VRAM 24GB)
もう一方は、以前から使っている RTX 3090 です。VRAM は 24GB で、今回の比較では速い側にあたります。発売から年数が経っており新品の流通は細く、中古が主体ですが、24GB という容量は今も現役です。
RTX 3090 と Arc B580 は一緒に使える? CUDA が使えない理由
NVIDIA の GPU で計算するときによく使われる CUDA は、NVIDIA 製GPU専用の仕組みです。Intel の Arc B580 は CUDA を持たないため、この2枚を CUDA で束ねることはできません。
一方で Vulkan という規格は、NVIDIA・AMD・Intel の3社共通で動きます。今回はこの Vulkan を使い、1つのモデルを2枚のGPUに分けて動かしました。
分け方には何種類かあり、今回の中心は層分割(レイヤー分割)です。モデルを構成する層を上から順に切り分け、前半をこちらのGPU、後半をあちらのGPUに置く、という分け方でした。処理は順番に進むため、遅いほうのGPUが担当する区間では、速いほうは待つ状態でした。
llama.cpp を Vulkan で組み直す? つまずいた3か所
Vulkan で動かすには、llama.cpp を Vulkan 対応でビルドし直す必要がありました。ここで3か所つまずいたため、同じことをする方のために書いておきます。
- SPIRV-Headers が要る。ビルドの設定段階で、このパッケージが見つからないと止まります。Ubuntu では
spirv-headersとして配布されています - 新しすぎる版では通らない。SPIRV-Headers をソースから入れる場合、最新版は内部の名前の付け方が変わっており、llama.cpp のビルドが失敗しました。Vulkan SDK と同世代のもの(
vulkan-sdk-1.4.309.0)に合わせると通りました - 置き場所によっては見つけてもらえない。標準の場所以外に SPIRV-Headers を入れた場合、ビルド設定はそのヘッダを探し当てても、コンパイラ側へは伝えてくれませんでした。
CPATHという環境変数で場所を教えると解決します
ビルドが終わると、認識されているGPUを一覧できます。
Vulkan0: Intel(R) Arc(tm) B580 Graphics (BMG G21) (12216 MiB) Vulkan1: NVIDIA GeForce RTX 3090 (24576 MiB)
メーカーの違う2枚が、同じ土俵に並びました。ここまでは順調です。
2枚に分けると速くなる? 分けた分の負担を測る
まず、どちらのGPU単体でも余裕で動く小さめのモデル(qwen3:8b・4.86GiB)で、3つの条件を比べました。分けたことによる負担だけを見るための測定です。
| 条件 | 生成速度 |
|---|---|
| RTX 3090 のみ | 117.91 tok/s |
| 2枚に分割 | 67.66 tok/s |
| Intel Arc B580 のみ | 48.64 tok/s |
qwen3:8b の生成速度(tok/s・大きいほど速い)
RTX 3090 + Intel Arc B580 / llama.cpp Vulkanビルド / 各5回。2026年7月時点の実測。
分割した結果は、2枚のちょうど中間に着地しました。B580 単体よりは速いものの、速いほうの 3090 単体と比べると 43% 落ちています。層分割では処理が順番に流れるため、B580 が担当する区間の遅さがそのまま全体に効いてくる、という理解でよさそうです。
2枚使えば足し算で速くなる、という話ではありませんでした。
分け方と比率はどう選ぶ? 設定を変えて実測
分けるときには、どちらのGPUにどれだけ割り当てるかを指定できます。容量の比(B580 が 12GB、3090 が 24GB なので 1対2)が最適だろうと考えて、そこを起点に振ってみました。
| B580 : 3090 の配分 | 生成速度 |
|---|---|
| 1 : 1 | 60.33 tok/s |
| 1 : 2(容量の比) | 64.36 tok/s |
| 1 : 3 | 73.31 tok/s |
| 1 : 4 | 78.10 tok/s |
| 1 : 6 | 78.80 tok/s |
予想は外れました。容量の比よりも、B580 への割り当てを減らすほど速くなっています。遅いGPUに仕事を渡さないほど全体が速い、という身も蓋もない結果でした。容量を目一杯使いたい場合を除けば、遅い側は控えめに、という配分がよさそうです。
分け方そのものにも種類があるため、こちらも比べました。
| 分け方 | 生成速度 |
|---|---|
| 層で分ける(既定) | 66.72 tok/s |
| 行で分ける | 67.08 tok/s |
| テンソルで分ける | 25.45 tok/s |
テンソルで分ける方式だけが、極端に遅くなりました。この 25.45 tok/s という値は、B580 単体の 48.64 tok/s すら下回っています。2枚使っているのに、遅いほうの1枚より遅いという状態でした。混ぜるときは、この方式を選ばないよう気をつけたいところです。
どちらのGPUを主に据えるか、という設定も試しましたが、こちらは 69.41 tok/s と 68.48 tok/s で、差は測定のばらつきの範囲でした。
24GBに収まるモデルでは? 混ぜないほうが速かった
次に、3090 の 24GB には収まるものの、B580 の 12GB には収まらないモデル(19.70GiB・34.66B)で試しました。B580 単体では読み込めないため、3090 単体と2枚分割の比較です。
| 条件 | 生成速度 |
|---|---|
| RTX 3090 のみ | 155.35 tok/s |
| 2枚に分割 | 103.67 tok/s |
| Intel Arc B580 のみ | 読み込めず(12GBに収まらない) |
ここでも分割したほうが遅く、差は 33% でした。片方のGPUだけで収まるのであれば、わざわざ分ける理由はありません。B580 を足したことが、そのまま足を引っ張る形になっています。
文脈を伸ばすとどうなる? 混ぜる利点が消えていく
ここまでは短いやり取りでの測定です。実際に使うときは、長い文書を読ませたり会話を続けたりします。そこで、文脈の長さを変えて測り直しました。
まず、先ほどの 19.70GiB のモデルでの結果です。
| 文脈の長さ | RTX 3090 のみ | 2枚に分割 | 差 |
|---|---|---|---|
| なし | 155.35 tok/s | 103.67 tok/s | −33% |
| 8192 | 150.15 tok/s | 72.83 tok/s | −51% |
| 32768 | 128.35 tok/s | 43.83 tok/s | −66% |
文脈が長くなるほど、分割したときの不利が広がっていきました。3090 単体は 155 から 128 へ 2割ほどの低下にとどまるのに対し、2枚に分けた側は 103 から 43 へ半分以下まで落ちています。
では、B580 単体と比べたらどうなるのか。両方のGPU単体に収まる qwen3:8b で、3つの条件を同じ文脈長で測りました。
| 文脈の長さ | RTX 3090 のみ | Intel Arc B580 のみ | 2枚に分割 | 分割はB580単体比 |
|---|---|---|---|---|
| なし | 117.91 | 48.64 | 67.66 | +39% |
| 8192 | 99.81 | 33.04 | 50.02 | +51% |
| 32768 | 69.18 | 16.94 | 18.16 | +7% |
文脈32768での生成速度(tok/s)
qwen3:8b / llama.cpp Vulkanビルド / 各5回。2026年7月時点の実測。分割は層分割・配分1対2。
文脈が短いうちは、分割は B580 単体より 4割ほど速く出ていました。ところが 32768 まで伸ばすと、その差は 7% まで縮んでいます。24GB の 3090 を足しているのに、B580 1枚とほとんど変わらない速度でした。逆転こそしないものの、長い文脈では混ぜる利点が実質的に消えると考えられます。
24GBに収まらないモデルでは? ここで混ぜる価値が出た
ここまでは分割が不利という結果ばかりでした。では、3090 の 24GB にも収まらないモデルではどうなるか。llama3.3:70b(39.59GiB・80層)で試しました。
このモデルは 2枚合計の 36GB にも収まりません。収まらないぶんは CPU 側で処理することになり、GPUに何層置けるかが速度を左右します。そこで、それぞれの構成で GPU に置ける上限まで層を載せて測りました。
| 条件 | GPUに載せられた層数 | 生成速度 |
|---|---|---|
| RTX 3090 のみ | 46層 / 80層 | 1.91 tok/s |
| 2枚に分割 | 69層 / 80層 | 3.33 tok/s |
llama3.3:70b(39.59GiB)の生成速度(tok/s)
各構成でGPUに載せられる上限の層数を使用。llama.cpp Vulkanビルド / 各3回。2026年7月時点の実測。
GPUに載せられる層が 46 から 69 へ 50% 増え、生成速度は 74% 上がりました。CPU 側へ回る層が減ったぶん、素直に速くなっています。B580 の 12GB が、ここではじめて仕事をしました。
もっとも 3.33 tok/s は、読みながら待つ速さです。快適とは言えません。それでも 1.91 tok/s と比べれば体感は変わります。
混ぜても答えは変わらない? 出力の正しさを確かめた
速度の話が続きましたが、もうひとつ確かめておきたいことがありました。メーカーの違うGPUに層を分けて計算させて、答えそのものが変わってしまわないかという点です。前半を Intel、後半を NVIDIA が計算するわけで、結果が食い違う余地はないのか、気になりました。
推論の問題8問とコードの問題10問を用意し、3090 単体と2枚分割の両方で同じ問題を解かせました。
| 条件 | 推論8問 | コード10問 |
|---|---|---|
| RTX 3090 のみ | 8 / 8 | 10 / 10 |
| 2枚に分割 | 8 / 8 | 10 / 10 |
18問すべてで結果が一致しました。メーカーの違うGPUに分けても、答えは変わりませんでした。速度は落ちるものの、正しさが損なわれるわけではないようです。分けて動かすこと自体に不安を持つ必要はなさそうだ、と言えます。
考察:混載はどんなときに使うのか
ここまでの実験を並べると、判断の分かれ目がはっきりしました。
| モデルの大きさ | 2枚に分けた結果 |
|---|---|
| 速いGPU単体に収まる | 遅くなる(−33〜43%)。分けないほうがよい |
| 単体には収まらないが2枚なら収まる | 単体では動かないため、分ける以外にない |
| 2枚合計にも収まらない | 速くなる(+74%)。GPUに載る層が増えるため |
混載は「速くするための手段」ではなく、「容量を増やすための手段」だと考えたほうが実態に合っています。速度を求めて2枚目を足すと、期待とは逆の結果になりそうです。
もうひとつ、長い文脈を扱う場合は分ける利点が薄れる点も押さえておきたいところです。文脈 32768 では、2枚に分けても B580 1枚と 7% しか違いませんでした。長文を読ませる用途なら、速いGPU 1枚に収まるモデルを選ぶほうが現実的だと考えられます。
なお今回試したのは Vulkan を経由した層分割が中心です。分け方や設定によって結果は変わり、Vulkan 側の最適化も進んでいるため、この数字は今の時点のものと考えています。
まとめ
メーカーの違うGPU 2枚を、Vulkan で同時に働かせることはできました。出力の正しさも保たれています。
ただし速度の面では、片方に収まるうちは1枚のほうが速く、分けることが有利になるのは、単体のVRAMに収まらない大きなモデルを扱うときに限られました。配分は遅い側を控えめにしたほうが速く、テンソルで分ける方式は選ばないほうがよい、という点も分かりました。
手元に容量の違うGPUが2枚ある場合、「合計すれば速くなる」ではなく「合計すれば大きいモデルが載る」と考えると、使いどころを間違えずに済みそうです。
連載の総括は第7話にまとめました。







ディスカッション
コメント一覧
まだ、コメントがありません