File size: 1,232 Bytes
e2e6c43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
47b5113
 
aae9a70
 
e2e6c43
aae9a70
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/usr/bin/env bash
set -euo pipefail

if [[ $# -ne 2 || ! $1 =~ ^(2|4|8|16|32)$ || ! $2 =~ ^(0|1)$ ]]; then
    echo "usage: $0 <2|4|8|16|32 GiB> <pager 0|1>" >&2
    exit 2
fi

root=$(cd "$(dirname "$0")" && pwd)
model=${MODEL:-models/flint-UD-Q4_K_XL.gguf}
if [[ "$model" != /* ]]; then
    model="$root/$model"
fi
cap_gib=$1
pager=$2
arena_mb=${ARENA_MB:-$((cap_gib * 1024 - 4096))}
threads=${THREADS:-16}

if [[ -z ${ARENA_MB:-} ]]; then
    case "$cap_gib" in
        2) arena_mb=256 ;;
        4) arena_mb=1024 ;;
        8) arena_mb=3072 ;;
        16) arena_mb=10240 ;;
        32) arena_mb=18432 ;;
    esac
fi

if [[ ! -r "$model" ]]; then
    echo "GGUF not readable: $model" >&2
    exit 2
fi
# 版本選擇:預設 v1(SDQ_PRELOAD=0 SDQ_ROW_PARALLEL=0);v2 請設 SDQ_PRELOAD=1 SDQ_ROW_PARALLEL=1
cmd=(env SDQ_PAGER="$pager" SDQ_PREFETCH=0 SDQ_ARENA_MB="$arena_mb" SDQ_PRELOAD="${SDQ_PRELOAD:-0}" SDQ_ROW_PARALLEL="${SDQ_ROW_PARALLEL:-0}"
    "$root/build/bin/llama-cli" -m "$model" -c 128 -b 32 -ub 16
    -p "Explain in one sentence why the sky is blue." -n 8 -t "$threads" --temp 0 -st --simple-io)

exec python3 "$root/tools/runmem.py" --rss-limit-gib "$cap_gib" --interval 0.02 --timeout 7200 -- "${cmd[@]}"