上級 15 分llama.cpp

CUDAでllama.cppをコンパイル:ビルド手順ガイド pas

OllamaとLM Studioはllama.cppを内部に組み込んでいますが、多くの場合、1〜2バージョン遅れており、フラグの設定も控えめです。llama.cppを自分でコンパイルすれば、最近のRTXで20〜40%の速度向上が得られ、登場したばかりの機能も利用できます。このガイドでは、Windows、Linux、CUDAを使ったビルドを扱います。

著者 Mohamed Meguedmi·更新 2026-03-05·Windows・macOS・Linuxでテスト済み

#自前でコンパイルする理由

プレリリース機能
新しい量子化(IQ4_NL、Q2_K_S)、新しいモデル(Mamba、DeepSeek)、実験的なフラグ
最適なパフォーマンス
お使いのCPU(AVX-512、AMX)とCUDAの世代(RTX 40向けのsm_89、RTX 50向けのsm_90)に最適化されたビルドです。
低レベルツール
llama-bench でベンチマーク、llama-cli でスクリプト、llama-server でUIや依存関係のないエンドポイントを提供します。
i
誰がコンパイルすべきでしょうか?
開発者であるか、パフォーマンスを確認したいか、あるいはMamba/JambaなどのOllamaでサポートされていないモデルを使用している場合:はい。それ以外の場合、Ollamaはコンパイルなしで95%の作業を完了します。

#前提条件

CUDA Toolkit 12.x
developer.nvidia.comからダウンロードできます。ドライバーと混同しないでください。Toolkitにはコンパイラのnvccが含まれています。
CMake 3.21+
Linuxではapt install cmake、Windowsではchocolatey経由でインストールします。
C++ コンパイラ
Linuxではgcc 11以降、WindowsではMSVC 2022 Build Tools。
Git
クローンと更新に使用します。

#1. リポジトリをクローンする

ターミナル
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp

#2. CUDAを使ったビルド

Linux / macOS
cmake -B build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j $(nproc)
Windows(PowerShell)
cmake -B build -DGGML_CUDA=ON -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j

コンパイルには、CPU に応じて3〜10分かかります。バイナリは、Linux では build/bin/、Windows では build/bin/Release/ に保存されます。

ローカルAIキット

お使いのマシンで、プライベートかつ無料のChatGPTを1時間で構築 — LM Studio、Ollama、Open WebUI、ご自身のドキュメント、クラウド不要。

  • 永久に利用できるオンラインスペース
  • PDF + ファイル
  • 生涯アップデート
→
あなたのGPU向けに最適化されたビルド
-DCMAKE_CUDA_ARCHITECTURES=89 を追加することで、RTX 40シリーズ(またはRTX 50シリーズ用に90を指定)に限定できます。バイナリサイズが小さくなり、ビルドも速くなります。

#3. テスト

GGUF のダウンロード
# Via Hugging Face CLI
pip install huggingface_hub
huggingface-cli download \
  TheBloke/Mistral-7B-Instruct-v0.2-GGUF \
  mistral-7b-instruct-v0.2.Q4_K_M.gguf \
  --local-dir ./models
推論
./build/bin/llama-cli \
  -m ./models/mistral-7b-instruct-v0.2.Q4_K_M.gguf \
  -p "Explique ce qu'est un LLM en 3 phrases." \
  -n 256 \
  -ngl 99  # nombre de couches sur GPU
OpenAIと互換性のあるHTTPサーバー
./build/bin/llama-server \
  -m ./models/mistral-7b-instruct-v0.2.Q4_K_M.gguf \
  --port 8080 \
  -ngl 99 \
  -c 8192

#4. 最適化フラグ

-ngl N
GPUにロードされる層の数。VRAMが許容する範囲であれば99(またはそれ以上)に設定することで、すべての層をGPUにロードできます。
-fa
Flash Attention。速度が20〜30%向上し、コンテキスト用のVRAM使用量が減ります。GPUがAmpere以降(RTX 30xx以降)なら、常に有効にしてください。
-c N
コンテキスト長。必要以上に長く設定しないでください:KV キャッシュは VRAM を消費します。
-b N / -ub N
バッチサイズとマイクロバッチ。デフォルトは512/512。1024/512に設定することで、プロンプト処理を高速化できます。
--no-mmap
mmapを無効にします。一部のSSDで初回の読み込みが遅い場合に試す。

#5. 最新版に更新する

Update
cd llama.cpp
git pull
cmake --build build --config Release -j

llama.cppは毎日複数のコミットが公開されます。週1回のgit pullが適切な頻度です。リグレッションが発生した場合は、特定のタグ(例:b4400)に対してgit checkoutを使用してください。

#トラブルシューティング

nvcc not found
CUDA Toolkit が PATH に含まれていません。Linux では:export PATH=/usr/local/cuda/bin:$PATH。
CUDAバージョンの不一致
Toolkitより古い NVIDIA ドライバー。ドライバーを更新してください(各Toolkitには特定のバージョン以上が必要です)。
cuBLASとのリンクエラー
LD_LIBRARY_PATHが誤っています。/usr/local/cuda/lib64 を追加してください。
MSVCでビルドに失敗
PowerShellではなく、「x64 Native Tools Command Prompt for VS 2022」を開いてください。そうしないと、一部のcmakeツールがcl.exeを見つけられません。
このガイドは役に立ちましたか?

ご意見、誤りのご指摘、補足はありますか?ぜひお知らせください。皆さんにとってより良いガイドにするために役立ちます。