30 lines
846 B
Bash
Executable File
30 lines
846 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="${ROOT_DIR:-/opt/mike-ai}"
|
|
SOURCE_DIR="${SOURCE_DIR:-$ROOT_DIR/llama.cpp}"
|
|
BUILD_DIR="${BUILD_DIR:-$SOURCE_DIR/build}"
|
|
REPO_URL="${REPO_URL:-https://github.com/ggml-org/llama.cpp.git}"
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
COMMIT="$(tr -d '[:space:]' < "$SCRIPT_DIR/LLAMA_CPP_COMMIT")"
|
|
|
|
if [[ $EUID -ne 0 ]]; then
|
|
echo "Dieses Skript muss als root ausgeführt werden." >&2
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d "$SOURCE_DIR/.git" ]]; then
|
|
git clone "$REPO_URL" "$SOURCE_DIR"
|
|
fi
|
|
|
|
git -C "$SOURCE_DIR" fetch --tags origin
|
|
git -C "$SOURCE_DIR" checkout --detach "$COMMIT"
|
|
|
|
cmake -S "$SOURCE_DIR" -B "$BUILD_DIR" \
|
|
-DGGML_CUDA=ON \
|
|
-DLLAMA_CURL=ON \
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
cmake --build "$BUILD_DIR" --config Release --parallel "$(nproc)"
|
|
|
|
"$BUILD_DIR/bin/llama-server" --version
|