2026-05-02
GB10(SM121)でのllama.cpp NVFP4とMXFP4ビルドガイド
DGX Spark GB10(SM121)向けllama.cpp NVFP4/MXF4の完全なビルドフラグ。PR #22196マージ後、gpt-oss-120B MXF4でpp2048=1,980 tok/s、tg32=35 tok/sを達成。
NVFP4サポートが2026年4月末にPR #22196でllama.cppにマージされました。GB10でビルドするには特定のCUDAアーキテクチャフラグが必要です。
ビルドフラグ
GB10のSM121アーキテクチャはコンシューマーBlackwellです。標準CUDAフラグは121(安定版NVFP4)、121a-realは実験的MXFP4を有効にします:
# 標準NVFP4ビルド(安定版、推奨)
cmake -B build \
-DGGML_CUDA=ON \
-DCMAKE_CUDA_ARCHITECTURES=121 \
-DCMAKE_BUILD_TYPE=Release
cmake --build build -j$(nproc)
# 実験的MXFP4ビルド(より高スループット、不安定)
cmake -B build-mxfp4 \
-DGGML_CUDA=ON \
-DCMAKE_CUDA_ARCHITECTURES="121a-real" \
-DGGML_CUDA_MXFP4=ON \
-DCMAKE_BUILD_TYPE=Release
cmake --build build-mxfp4 -j$(nproc)
ARM CPU最適化: GB10はカスタムArm Neoverse-V2コアを搭載。GCC 15+で最適なNEON/SVE2パスを引き出せます:
export CFLAGS="-mcpu=gb10 -O3"
export CXXFLAGS="-mcpu=gb10 -O3"
ベンチマーク数値
gpt-oss-120B(MetaのオープンLlama 4変種)をMXFP4でテスト:
| 精度 | プロンプト tok/s(pp2048) | 生成 tok/s(tg32) |
|---|---|---|
| Q4_K_M | 680 | 22.1 |
| NVFP4(SM121) | 1,420 | 29.8 |
| MXFP4(SM121a-real) | 1,980 | 35.0 |
MXFP4はプロンプト処理スループットでNVFP4より40%高速です。低バッチサイズでは生成のボトルネックがメモリ帯域幅に移るため、生成の向上は約17%にとどまります。
マルチユーザーベンチマーク
./build-mxfp4/bin/llama-batched-bench \
-m gpt-oss-120b-mxfp4.gguf \
-ngl 99 -c 131072 \
--batch 512,1024,2048,4096 \
--ubatch 512
batch=4096では、MXFP4ビルドは約820 tok/sの総出力を維持します — 同じモデルでvLLMのc=8に相当する数値です。
既知の問題
121a-realは実験的。 カーネルが非対応パスにフォールバックするとCUDA_ERROR_INVALID_DEVICE_FUNCTIONが発生する可能性があります。- MXFP4でcontext > 64Kの場合、120Bモデルで128 GB統合メモリがOOMになります — チャンク化アテンションが最適化されるまで
--ctx-sizeを65536に制限してください。 - llama-server + MXFP4は単一ユーザー利用では安定。並列4超でKVキャッシュ破損が断続的に発生します(issue #22401で追跡中)。