はじめに
SYCLを使ってllama.cppを動かす手順になります。おまけとしてChatUIも使ってみました。OSはUbuntu 22.04です。
下準備
GPUドライバとoneAPI Base Toolkitのインストールに関しては別記事を書きましたのでそちらを見て下さい。touch-sp.hatenablog.com
Llama.cppのビルド
こちらの通りに行えば問題なく実行可能でした。cmakeのインストール
sudo apt install cmake
oneAPIの開始
source /opt/intel/oneapi/setvars.sh
ビルド
git clone https://github.com/ggerganov/llama.cpp cd llama.cpp cmake -B build -DLLAMA_SYCL=ON -DCMAKE_C_COMPILER=icx -DCMAKE_CXX_COMPILER=icpx cmake --build build --config Release -j -v
実行
ChatUIで使うためにserverを実行しました。ZES_ENABLE_SYSMAN=1 ./build/bin/server -m models/zephyr-7b-beta.Q4_K_M.gguf -c 2048 -ngl 33 -sm none -mg 0
ChatUIとLlama.cppを組み合わせる使い方はこちらを見て下さい。
touch-sp.hatenablog.com
最終的にはこのような感じで使えるようになりました。

補足
この記事では1台のPC内でLlama.cppとChatUIの両方を実行しています。2台のPCを使って別々に実行した場合の記事も書きました。touch-sp.hatenablog.com