#!/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"