33 lines
1.0 KiB
Bash
Executable File
33 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# ==============================================================================
|
|
# Build script for compiling llama.cpp with NVIDIA NCCL tensor parallelism
|
|
# Optimized for Turing GPUs (RTX 2060, CMP 50HX, sm_75)
|
|
# ==============================================================================
|
|
set -euo pipefail
|
|
|
|
LLAMA_DIR="${1:-/opt/llama.cpp}"
|
|
BUILD_DIR="${LLAMA_DIR}/build-nccl"
|
|
|
|
echo "==> Ensuring build dependencies are installed..."
|
|
apt-get update -qq && apt-get install -y -qq \
|
|
build-essential cmake git ninja-build \
|
|
libcurl4-openssl-dev libssl-dev pkg-config
|
|
|
|
echo "==> Configuring CMake for llama.cpp with NCCL and CUDA sm_75..."
|
|
mkdir -p "$BUILD_DIR"
|
|
cd "$BUILD_DIR"
|
|
|
|
cmake .. \
|
|
-GNinja \
|
|
-DGGML_CUDA=ON \
|
|
-DGGML_CUDA_GRAPHS=ON \
|
|
-DGGML_CUDA_FORCE_CUBLAS=ON \
|
|
-DGGML_CUDA_PEER_MAX_BATCH_SIZE=128 \
|
|
-DGGML_CUDA_ARCHITECTURES="75" \
|
|
-DCMAKE_BUILD_TYPE=Release
|
|
|
|
echo "==> Building llama-server..."
|
|
ninja llama-server
|
|
|
|
echo "==> Build complete! Binary located at: ${BUILD_DIR}/bin/llama-server"
|