Files

53 lines
1.8 KiB
Bash
Executable File

#!/usr/bin/env bash
# SPDX-License-Identifier: MIT
# Copyright (c) 2026 Heretek AI
# =============================================================================
# CachyLLama-BUILDER: Local Linux Vulkan Build Script
# =============================================================================
# Builds fewtarius/CachyLLama with Vulkan (RADV) backend locally on Linux.
#
# Vulkan (RADV) is the recommended backend for AMD APUs (Strix Halo, Strix Point,
# Phoenix, Steam Deck) for maximum stability without needing ROCm DKMS drivers.
#
# Usage:
# ./scripts/build_vulkan_local.sh
# =============================================================================
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
ROOT_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
BUILD_DIR="$ROOT_DIR/build-vulkan"
SRC_DIR="${SRC_DIR:-$ROOT_DIR/CachyLLama}"
if [ ! -d "$SRC_DIR" ]; then
echo "[INFO] CachyLLama source not found at $SRC_DIR. Cloning from GitHub..."
git clone --depth 1 https://github.com/fewtarius/CachyLLama.git "$SRC_DIR"
fi
echo "========================================================================"
echo " Building CachyLLama (Vulkan Backend)"
echo " Source Path: $SRC_DIR"
echo " Output Dir: $BUILD_DIR"
echo "========================================================================"
mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"
cmake "$SRC_DIR" -G Ninja \
-DCMAKE_BUILD_TYPE=Release \
-DGGML_VULKAN=ON \
-DGGML_CPU=ON \
-DGGML_NATIVE=OFF \
-DBUILD_SHARED_LIBS=ON \
-DLLAMA_BUILD_TESTS=OFF \
-DLLAMA_BUILD_TOOLS=ON \
-DLLAMA_BUILD_SERVER=ON \
-DGGML_RPC=ON \
-DCMAKE_INSTALL_RPATH='$ORIGIN' \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=ON
ninja -j"$(nproc)"
echo "[OK] Vulkan build completed successfully! Binaries are in: $BUILD_DIR/bin"