SLM750-Edge-1.58-bit / BitNet /benchmark.sh
Qapdex's picture
Rename BitNet/files.sh/benchmark.sh to BitNet/benchmark.sh
63ba696 verified
Raw
History Blame Contribute Delete
1.22 kB
#!/usr/bin/env bash
MODEL="${1:-models/quantized_q4km.gguf}"
PROMPT="${2:-Hallo BitNet}"
TOKENS="${3:-64}"
THREADS=$(nproc)
VK_ICD_FILENAMES="$PREFIX/share/vulkan/icd.d/freedreno_icd.aarch64.json"
KMP_AFFINITY="disabled"
EXECUTABLE_DISABLE_MTE="1"
echo "Model: $MODEL"
echo "Threads: $THREADS"
echo "Prompt: $PROMPT"
echo "Max new tokens: $TOKENS"
START_LOAD=$(date +%s)
export LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib/python3.13/site-packages/lib:/data/data/com.termux/files/usr/lib:$LD_LIBRARY_PATH
python3 run_inference.py --model "$MODEL" --backend llama.cpp --threads $THREADS --n_ctx 512 --max_new_tokens 1 --prompt "$PROMPT" >/dev/null 2>&1
END_LOAD=$(date +%s)
LOAD_SEC=$((END_LOAD-START_LOAD))
echo "Model load + first token time: ${LOAD_SEC}s (approx)"
# Measure generation time for TOKENS
START_GEN=$(date +%s.%N)
python3 run_inference.py --model "$MODEL" --backend llama.cpp --threads $THREADS --n_ctx 512 --max_new_tokens $TOKENS --prompt "$PROMPT" --no-stream >/dev/null 2>&1
END_GEN=$(date +%s.%N)
GEN_SEC=$(echo "$END_GEN - $START_GEN" | bc -l)
TOK_PER_SEC=$(echo "$TOKENS / $GEN_SEC" | bc -l)
printf "Generated %s tokens in %.2f s → %.2f tokens/s\n" "$TOKENS" "$GEN_SEC" "$TOK_PER_SEC"