【CUDA 16GB向け】llama.cpp b11840とCUDA Graphs最適化:RTX 3080/4080/5060 Ti 16GBユーザーのための安定化と高速化
目次
llama.cppは、ggml-orgが開発するC/C++のLLM推論エンジンです。GGUF形式の量子化モデルをCPUやGPUで動作させることができます。
2026年10月23日、llama.cppの最新リリース(b11840)と、CUDA Graphsの最適化・修正を含む複数の重要な更新が公開されました。RTX 3080、4080、5060 Tiなどの16GB VRAM GPUを搭載し、ローカルでLLMを運用しているユーザーにとって、これらの変更は推論速度の向上とビルドの安定性に直結するものです。
今回の要点
- ビルド修正: CUDA Graphs関連の修正により、ビルドエラーが解消されました。
- 速度向上: Graph Thrashingの防止とWarpサイズ最適化により、推論速度が改善されました。
- 品質改善: 量子化スケールのオーバーフロー修正により、Q4_1/Q5_1/Q8_1モデルの品質が回復しました。
- 新アーキテクチャ対応: Qwen3.8やGLM5系モデルの推論最適化が行われました。
- CUDA 13.4対応: 最新のCUDA 13.4ライブラリがサポートされました(16GB RTXユーザーは12.8版を使用)。
llama.cpp b11840のリリースとCUDA 13.4対応
2026年10月23日16:46 UTCに、llama.cppの最新リリースであるb11840が公開されました。このリリースでは、hexagon CEIL演算子が追加され、CUDA 13.4ライブラリを用いたビルドアーチファクトがLinux x64/arm64およびWindows x64/arm64で提供されています。一方で、RTX 3080/4080/5060 Tiなどの16GB VRAM GPU(sm_80/86/89/90)を搭載しているユーザーは、引き続きCUDA 12.8版を使用する必要があります。
このリリースは、その後のCUDA Graphs関連の修正や最適化を含む基盤ともなっており、安定した環境での運用を可能にします。
CUDA Graphsの最適化とビルド修正
CUDA Graphsは、GPUのオーバーヘッドを削減し推論速度を向上させる技術ですが、複数のコンテキストサイズやセッションを扱う際、Graphの頻繁な破棄と再生成(Graph Thrashing)が発生すると性能が低下する問題がありました。また、関連する修正がマージされた直後、ビルドが壊れるという問題も報告されていました。
今回の更新では、以下の改善が行われました。
- Graph Thrashingの防止: Graphの形状に応じたキー管理を実装し、不要なGraphの破棄・再生成を抑制しました。
- ビルド修正: Chunked CUDA Graphs導入後に壊れていたCUDAビルドが正常化されました。
- Warmupの回避: Graph Replay後に繰り返されていたWarmup処理を回避し、初期推論の待ち時間を削減しました。
- チャンク処理: Graphを小さなチャンクで実行することで、Graph Launchのコストを分散させ、1〜2%のトークン生成速度(TG)向上が期待されます。
これにより、16GB RTX GPUで複数のセッションを運用する際や、MTP(Multi-Token Prediction)を利用する際の安定性と速度が向上します。
利用者の報告
GitHub上で、@ServeurpersoCom 氏から、Chunked CUDA Graphs導入後に発生していたビルドエラー(error: class "ggml_cuda_graph" has no member "instance")が、PR#31053のマージにより修正されたという報告があります。この修正により、CUDA Graphsを有効にした際のビルドが正常に行えるようになりました。
また、@FatheredPuma81 氏は、V100とP100を搭載した環境でベンチマークを公開しており、MTP有効時のトークン生成速度の低下に言及しつつも、PP(Prefill)速度の大幅な向上を確認しています。この環境での知見は、同様の構成や、16GB RTXユーザーにとっても参考になる可能性があります。
Qwen3.8/GLM5系モデルのQSA最適化とMRoPE融合
Qwen3.8やGLM5系などの新しいアーキテクチャを持つモデルの推論速度と品質を改善するため、以下の最適化が行われました。
- Qwen系モデル: MRoPE(Multi-RoPE Embedding)とset-rows操作を単一のCUDAカーネルに融合し、Qwen3.8-27BやQwen3.6-35B-A3Bなどの推論速度を改善しました。
- Qwen4Exp: QSA(Query-Sparse Attention)からkq_maskを外し、チャンキングに対応することで、Qwen3.8-Flash-Nextなどのアーキテクチャを最適化しました。
- GLM5系モデル: QSAからkq_maskを外すことで、GLM5-nextモデルの推論精度を改善しました。
16GB RTXユーザーがこれらのモデルを主に使用する場合、推論速度の向上や品質の改善が期待できます。
利用者の報告
このトピックに関連する、16GB RTX環境での具体的な利用者の報告(observations)はありません。ただし、@FatheredPuma81 氏によるV100/P100環境でのベンチマーク報告があり、MTP有効時の速度低下やPP速度の向上が確認されています。
量子化スケールのオーバーフロー修正:Q4_1/Q5_1/Q8_1モデルの品質回復
Q4_1、Q5_1、Q8_1などの低ビット量子化モデルにおいて、スケール乗算がfp16で行われていたため、オーバーフローが発生し出力品質が劣化する問題がありました。今回の修正では、スケール乗算をfp32で行うように変更され、オーバーフローが防止されました。
これにより、16GB RTXユーザーがこれらの量子化モデルを使用する際、以前よりも高精度な出力が期待できるようになります。
DP4A MMQタイルのwarpサイズ倍数強制:Tensor Core効率の向上
RTX 3080/4080/5060 Ti(sm_80/86/89/90)に搭載されたTensor CoreのDP4A演算効率を向上させるため、MMQタイルの高さをwarp sizeの倍数に強制する最適化が行われました。これにより、GPUの並列処理効率が向上し、推論速度の改善が期待されます。
出典
- llama.cpp b11840 release (2026-10-23): hexagon CEIL op + CUDA 13.4 libs
- PR#31053: CUDA: fix build after chunked CUDA graphs (#30804)
- PR#31004: Implement graph shape keying to prevent graph thrashing
- llama.cpp #30804 CUDA: chunk graphs to amortize graph launch
- PR#29768: cuda: avoid repeated warmup after stable graph replay
- PR#31025: ggml-cuda: fuse qwen MRoPE + set-rows
- PR#30815: qwen4exp: QSA without the kq_mask + chunking
- PR#31009: glm5-next: QSA without kq_mask
- PR#31019: CUDA: multiply Q4_1/Q5_1/Q8_1 MMVQ scales in fp32 to avoid fp16 overflow
- PR#30837: ggml-cuda: enforce DP4A MMQ tile height multiple of warp size
- GitHub Comment by @ServeurpersoCom
- GitHub Issue by @FatheredPuma81
SwitchBot公式ページ
クーポン「AF-4903」で5%引き(アフィリエイトクーポンになりますのでご協力お願いします)
割引の詳しい仕組みに関してはこちらのページを参照ください。
製品ごとの特徴・紹介動画は SwitchBot 製品ガイド にまとめています。