#!/usr/bin/env bash # k3-test/config.env — shared configuration for all scripts. # Override any value by exporting it before running, e.g. K3_INCLUDE="*UD-IQ1_S*" ./01_download_k3.sh # --- pinned runtime ------------------------------------------------------- # llama.cpp master @ 2026-08-25 — includes "model: add Kimi-K3 text model" (#26185, merged 2026-08-15). # Vision support needs the unsloth fork PR#48 instead; this test plan is text-only => mainline is fine. LLAMA_GIT="https://github.com/ggml-org/llama.cpp" LLAMA_REF="d222767c7a6516559a3f49e7721b6c6b1acc87b4" LLAMA_DIR="${LLAMA_DIR:-$HOME/llama.cpp}" LLAMA_BIN="${LLAMA_BIN:-$LLAMA_DIR/build/bin}" # --- models ---------------------------------------------------------------- MODEL_DIR="${MODEL_DIR:-$HOME/models}" K3_HF_REPO="unsloth/Kimi-K3-GGUF" K3_INCLUDE="${K3_INCLUDE:-*UD-Q4_K_XL*}" # 32 shards, 1508.7 GB total (verified 2026-08-25) K3_SUBDIR="UD-Q4_K_XL" K3_FIRST_SHARD="${K3_FIRST_SHARD:-Kimi-K3-UD-Q4_K_XL-00001-of-00032.gguf}" K3_MODEL_PATH="${K3_MODEL_PATH:-$MODEL_DIR/Kimi-K3-GGUF/$K3_SUBDIR/$K3_FIRST_SHARD}" K3_VISION_MMPROJ="${K3_VISION_MMPROJ:-}" # set to download mmproj-BF16.gguf if vision is wanted SMOKE_HF_REPO="Qwen/Qwen3-30B-A3B-GGUF" SMOKE_INCLUDE="${SMOKE_INCLUDE:-*Q4_K_M*}" SMOKE_MODEL_PATH="${SMOKE_MODEL_PATH:-$MODEL_DIR/Qwen3-30B-A3B/Qwen3-30B-A3B-Q4_K_M.gguf}" # --- runtime knobs ---------------------------------------------------------- THREADS="${THREADS:-$(nproc)}" GEN_TOKENS="${GEN_TOKENS:-128}" # tokens to decode per experiment run CTX_SIZE="${CTX_SIZE:-8192}" SEED="${SEED:-42}" # trunk placement (see PREP_REPORT.md "trunk VRAM reality check"): # UD-Q4_K_XL dense trunk is mostly Q8_0 (~55-60 GB) — does NOT fit in 2x24GB. # trunk across 3 GPUs : TSPLIT="1,1,1" TGPU_N=3 # trunk across 2 GPUs : TSPLIT="1,1" (spill to CPU for the remainder) TSPLIT="${TSPLIT:-1,1,1,1}" # 4x16GB=64GB holds the ~58GB Q8_0 trunk; 8x5060Ti box # expert override: keep every routed-expert tensor on CPU (equivalent to --cpu-moe) EXPERT_CPU_OT='.ffn_(up|gate|down)_exps.=CPU' # sampling (deterministic for comparability) SAMPLE_ARGS="--temp 0 --top-k 1 --seed $SEED" # --- logging ---------------------------------------------------------------- K3TEST_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" LOG_ROOT="${LOG_ROOT:-$K3TEST_ROOT/logs}" MON_INTERVAL="${MON_INTERVAL:-10}" # seconds between resource samples mkdir -p "$LOG_ROOT"