デュアル7900 XTXがQwen3.5-35B(Vulkanバックエンド)で123 tok/sを達成

Reddit r/LocalLLaMA / 2026/3/28

💬 オピニオンDeveloper Stack & InfrastructureTools & Practical Usage

要点

  • 2026-03-27のベンチマークでは、2基のRadeon RX 7900 XTX(Vulkanバックエンド、llama.cpp/Ubuntu 24.04.4)でQwen3.5-35B-A3B相当モデルを動作させ、生成スループット(tg128)が約123.08 tok/s(±0.14)を記録しました。
  • 同じ構成でプロンプト処理(prompt processing)はpp1が118.46 tok/s、pp16〜pp2048で段階的に大きく伸び、pp512で約2647.13 tok/s、pp2048で約3822.73 tok/sとなりました。
  • 既存の公開ベンチマークとの比較では、単体7900 XTXのVulkan性能(Q4_0で95〜105 tok/s)やCUDA系(RTX 3090/5090)との数値差が整理され、今回の「デュアル×7900 XTX(Vulkan)」は生成性能で123 tok/s付近の結果として提示されています。
  • 構成面では、Qwen3.5-35B-A3Bをllama.cppでQ4_K_M量子化した約19.71GiBモデルを用い、レイヤ分割を両GPUに割り当てる設定(層分割・ngl指定)で測定している点が特徴です。

DUAL_7900XTX_BENCHMARK_POST.txt ✕ 閉じる

Dual RX 7900 XTX — Qwen3.5-35B-A3B 推論ベンチマーク

日付: 2026-03-27 ハードウェア: 2x AMD Radeon RX 7900 XTX(合計48GB VRAM、各カード384-bit GDDR6) CPU: Ryzen 9 5900XT(16C/32T)、64GB DDR4 OS: Ubuntu 24.04.4 LTS、カーネル 6.17.0-1012-oem バックエンド: Vulkan(RADV NAVI31、Mesa)、llama.cpp ビルド b8516 モデル: Huihui-Qwen3.5-35B-A3B-abliterated.Q4_K_M.gguf(19.71 GiB、34.66B params、~3B active) 分割: 両GPUにレイヤ分割(-ngl 99、デフォルト分割)

トークン生成(llama-bench、3回繰り返し)

テスト tok/s
tg128 123.08±0.14

プロンプト処理(llama-bench、2回繰り返し)

テスト tok/s
pp1 118.46±0.45
pp16 325.08±1.98
pp64 833.12±28.4
pp256 1945.28±1.04
pp512 2647.13±13.21
pp1024 3181.31±305
pp2048 3822.73±30.9

公開ベンチマークとの比較(同一モデル: Qwen3.5-35B-A3B)

出典: [1] HuggingFace ubergarm/Qwen3.5-35B-A3B-GGUF/discussions/1 [2] llama.cpp Discussion #10879(Vulkan パフォーマンス) [3] llama.cpp Discussion #15021(ROCm/HIP パフォーマンス) [4] llama.cpp Discussion #19890(RDNA4 R9700 vs RTX 5090) [5] InsiderLLM Qwen3.5 ローカルガイド [6] Level1Techs デュアル 7900 XTX スレッド

トークン生成 — Qwen3.5-35B-A3B(または同等の MoE 30-35B A3B)

GPU バックエンド 量子化 TG tok/s 出典
Dual 7900 XTX HIP Q4_0 47 [1]
シングル 7900 XTX HIP Q4_0 76-78 [1]
シングル 7900 XTX Vulkan Q4_0 95-105 [1]
Single W7900 Vulkan Q8_0 ~48 [6]
RTX 3090 CUDA Q4_K_M 111 [5]
RTX 5090 CUDA Q4_K_M 165 [5]
Radeon AI PRO R9700 Vulkan Q4_K_XL 127 [4]
>>> Dual 7900 XTX Vulkan Q4_K_M 123 本測定

プロンプト処理 — Qwen3.5-35B-A3B

GPU バックエンド 量子化 PP512 tok/s 出典
Dual 7900 XTX HIP Q4_0 1,090-1,355 [1]
シングル 7900 XTX HIP Q4_0 1,153-2,237 [1]
シングル 7900 XTX Vulkan Q4_0 2,105-2,472 [1]
>>> Dual 7900 XTX Vulkan Q4_K_M 2,647 本測定

クロスモデル参照(Llama 2 7B Q4_0 — 標準ベンチマーク)

GPU バックエンド PP512 tok/s TG128 tok/s 出典
シングル 7900 XTX HIP+FA 3,874 170 [3]
シングル 7900 XTX Vulkan 3,532 191 [2]
Dual 7900 XTX HIP 330 (70B) 13.4 (70B) [3]

vLLM 比較(同一ハードウェア、同一モデル)

同じデュアル 7900 XTX 構成で、vLLM 0.17.1rc1 も ROCm 7.0 にてテストしました。

フレームワーク バックエンド モデル TG tok/s PP tok/s 状態
vLLM 0.17.1 ROCm/HIP Qwen3.5-35B Q4_K_M 5 N/A 出力が壊れている
vLLM 0.17.1 ROCm/HIP Qwen3.5-35B FP16 OOM N/A 読み込めない
vLLM 0.17.1 ROCm+FP8 MoE Qwen3.5-35B OOM→33.7GB N/A MI300X のみ
llama.cpp HIP+graphs Qwen3.5-35B Q4_K_M 86.66 ~1,345 動作
llama.cpp Vulkan Qwen3.5-35B Q4_K_M 123.08 3,829 動作

vLLM に関する注記: - vLLM の GGUF MoE 量子化パスでは、gfx1100 上で約5 tok/s の速度のまま、多言語のガベージ出力(ランダムな中国語、韓国語、スペイン語トークン)が生成されました。同じ GGUF ファイルは llama.cpp では整合性のある出力になります。 - vLLM の FP8 MoE 量子化(--quantization fp8)により VRAM は 60GB から 33.7GB へ削減されますが、MI300X(CDNA3)のみで動作し、gfx1100(RDNA3)では動作しません。 - AITER MoE カーネル融合ライブラリ(VLLM_ROCM_USE_AITER_MOE=1)は MI300X 専用であり、RDNA3 ではコンパイルされません。 - vLLM の Triton カーネルは RDNA3 の wave32 アーキテクチャ向けに最適化されていません。

結論: RX 7900 XTX における MoE 推論では vLLM は実用になりません。llama.cpp Vulkan はトークン生成速度が(123 対 5 tok/s で)24.6倍です。

主要な観察結果

  1. Vulkan は RDNA3 における MoE ワークロードで HIP/ROCm より優れています。

    • TG: 123 tok/s(Vulkan)対 47 tok/s(デュアル HIP)=2.6倍高速
    • これは、AMD GPU では Vulkan ではなく ROCm を使うべきだという一般的な推奨と矛盾します。MoE モデルでアクティブなパラメータ数が少ない場合、Vulkan の GEMV パスは、小さな K の専門(expert)行列に対して高いスレッド利用率を実現します。
  2. Vulkan 上のデュアル 7900 XTX は、同一モデル・同一量子化条件で CUDA 上のシングル RTX 3090 を上回ります(123 対 111)。

  3. PP は ubatch=512 まで良好にスケールします(PP2048 で 3,829 tok/s)。5.5倍大きいモデルを動かしているにもかかわらず、単一GPUの7Bモデルの速度に一致します。これを可能にしているのが MoE アーキテクチャ(3B active)です。

  4. これらのGPUはそれぞれ $800-900 です。2枚($1600-1800)は、単一の RTX 3090($1500)を上回り、RTX 5090($2000)の領域に近づきつつ、VRAM は合計48GB(24GB/32GBではなく)を提供します。

設定メモ

  • RADV(Mesa)ドライバの Vulkan バックエンド、amdvlk ではない
  • レイヤ分割モード(デフォルト、-ngl 99)
  • 両GPUとして検出される: AMD Radeon RX 7900 XTX(RADV NAVI31)
    • warp size: 64、shared memory: 65536、int dot: 1
    • KHR_coopmat: 対応
  • 全測定中に profile_peak(1249 MHz MCLK)で確認
  • これらのベンチマークではフラッシュアテンションは使用していない
  • プロンプト処理における ubatch=512(デフォルト)

RAW llama-bench 出力

モデル サイズ パラメータ数 バックエンド ngl テスト t/s
qwen35moe 35B.A3B Q4_K - Medium 19.71 GiB 34.66 B Vulkan 99 tg128 123.08 ± 0.14
qwen35moe 35B.A3B Q4_K - Medium 19.71 GiB 34.66 B Vulkan 99 pp1 118.46 ± 0.45
qwen35moe 35B.A3B Q4_K - Medium 19.71 GiB 34.66 B Vulkan 99 pp16 325.08 ± 1.98
qwen35moe 35B.A3B Q4_K - Medium 19.71 GiB 34.66 B Vulkan 99 pp64 833.12 ± 28.4
qwen35moe 35B.A3B Q4_K - Medium 19.71 GiB 34.66 B Vulkan 99 pp256 1945.28 ± 1.04
qwen35moe 35B.A3B Q4_K - Medium 19.71 GiB 34.66 B Vulkan 99 pp512 2647.13 ± 13.21
qwen35moe 35B.A3B Q4_K - Medium 19.71 GiB 34.66 B Vulkan 99 pp1024 3181.31 ± 305
qwen35moe 35B.A3B Q4_K - Medium 19.71 GiB 34.66 B Vulkan 99 pp2048 3822.73 ± 30.9
投稿者 /u/Neither-Temporary131
[リンク] [コメント]
広告