CachyOSでllama.cppをコンパイルして動かす

MTPやD-Flashなどの新しい最適化をいち早く試すために、なるべく簡単にllama.cppをソースからビルドして動かせるようにします。

なぜCachyOSか

CachyOSはArch Linuxベースのディストリビューションで、ゲーミング対応を積極的に行っていることで有名です。

nVidiaの最新ドライバが最初から含まれているので、LLM向け環境を構築する際にドライバインストールの手間を省くことが出来ます。

ビルド手順

  1. ライブラリのインストール

cuda-toolkitとcmakeは入っていないので追加します。

CachyOSには標準でgcc16が入っていますが、これはcuda-toolkitが対応していないので別にgcc14を入れます。

sudo pacman -S cuda cmake gcc14
  1. パスをエクスポート

~/.config/fish/config.fish に下記の2行を追加し source します。

set -gx PATH $PATH /opt/cuda/bin
set -gx LD_LIBRARY_PATH $LD_LIBRARY_PATH /opt/cuda/lib64
  1. llama.cppのリポジトリをクローン
git clone git@github.com:ggml-org/llama.cpp.git
cd llama.cpp
  1. ビルド

ここで標準のgcc16ではなくgcc14をつかいます。

env CUDACXX=/opt/cuda/bin/nvcc cmake -B build -DGGML_CUDA=ON -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/gcc-14
cmake --build build --config Release -j 8
  1. 起動
./build/bin/llama-server --version

Windows環境との比較

同じハードウェア構成でWindowsとCachyOSで速度を比較しましたが、30tpsと32tpsであまり差はありませんでした。

最新の機能が必要でなければあえてLinuxに移行するメリットは少ないと思います。

おまけ

LACTを入れるとGUI操作でGPUの消費電力を制限することができます。

WindowsのMSI Afterburnerのようなツールです。

sudo pacman -S lact
CloudflareでEU諸国からのアクセスを遮断する方法 - GDPR対策