広告

CUDAに比べて、VulkanバックエンドはCPUおよびGPUメモリの負荷がずっと軽い

Reddit r/LocalLLaMA / 2026/4/2

💬 オピニオンIdeas & Deep AnalysisTools & Practical Usage

要点

  • あるユーザーが自分の環境でllama.cppをローカル実行したところ、CUDAバックエンドでQwen3.5-9B-GGUFを使うと、1つのCPUコアが100%に張り付くうえ、GPUメモリ使用量が11GB以上になったが、スループットはおよそ〜30 tokens/秒のままだった。
  • 同じ構成をVulkanバックエンドに切り替えると、CPU使用率は単一コアで約30%に低下し、GPUメモリ使用量も約7.2GBまで下がった。報告されている速度(〜30 tokens/秒)は変わらなかった。
  • この記事はトラブルシューティング/好奇心の投稿であり、この特定のローカル推論シナリオにおいて、なぜVulkanはCUDAよりもGPUメモリ使用量とCPU負荷が小さいのかを疑問に思っている。
  • 主要なポイントは、同じモデルとハードウェアに対して、llama.cppにおけるVulkanバックエンドとCUDAバックエンドの性能・リソース使用量を比較した逸話的な記録である。
  • 実用面として、開発者や運用担当者は、スループットが同程度に見えていても、選択したバックエンドによってCPU/GPUメモリの挙動が異なる場合があることを意識すべき、という示唆がある。

Linuxで、CUDAサポート付きで自分の環境で llama.cpp をコンパイルしていると、Qwen3.5-9B-GGUF:Q4_K_M を RTX A2000 12GB みたいな「ポテト」環境で動かしているとき、top は常に 1 つの CPU コアが 100% まで張り付いている状態を表示していました。さらに、nvidia-smi では GPU メモリ使用量が 11GB+ と表示されます。速度は約 30 トークン/秒です。この単一コアが張り付くと、システムファンが回り始めるので、聞くのがうるさくて面倒でした。

何か違いがあるか確かめたくて、再度 llama.cpp を Vulkan バックエンドでコンパイルすることにしました。さて、まったく同じモデルを使った場合、結果は大きく変わりました。今では top は 1 つの CPU コアを約 30% 使用として表示するだけで、nvidia-smi は GPU メモリ使用量が 7.2GB だけだと表示しています。速度は同じく約 30 トークン/秒です。推論を動かしている間、もうシステムファンが回りません。

ただ、なぜ Vulkan を使うと GPU メモリのフットプリントが低くなり、CPU 使用率も低くなるのか気になっています。

提出者 /u/Im_Still_Here12
[link] [comments]

広告