added long context benchmakrs for RPC

This commit is contained in:
Donato Capitella
2025-11-18 10:43:17 +00:00
parent d19875828c
commit 1d88fca07d
+38 -13
View File
@@ -139,11 +139,18 @@ has_pending_runs() {
for model_path in "${RESOLVED_MODELS[@]}"; do for model_path in "${RESOLVED_MODELS[@]}"; do
local model_name local model_name
model_name="$(basename "${model_path}" .gguf)" model_name="$(basename "${model_path}" .gguf)"
local log_file="$RESULTDIR/${model_name}__${env}${suffix}__rpc.log" for ctx in default longctx32768; do
local ctx_suffix=""
if [[ "$ctx" == longctx32768 ]]; then
ctx_suffix="__longctx32768"
fi
local log_file="$RESULTDIR/${model_name}__${env}${suffix}${ctx_suffix}__rpc.log"
if [[ ! -s "$log_file" ]]; then if [[ ! -s "$log_file" ]]; then
return 0 # still work to do return 0 # still work to do
fi fi
done done
done
return 1 # all logs already exist return 1 # all logs already exist
} }
@@ -214,7 +221,6 @@ run_llama_bench_rpc() {
local mode="$4" local mode="$4"
local model_name local model_name
model_name="$(basename "${model_path}" .gguf)" model_name="$(basename "${model_path}" .gguf)"
local log_file="$RESULTDIR/${model_name}__${env}${suffix}__rpc.log"
local client_cmd="${CLIENT_CMDS[$env]:-}" local client_cmd="${CLIENT_CMDS[$env]:-}"
if [[ ! -f "$model_path" ]]; then if [[ ! -f "$model_path" ]]; then
@@ -222,11 +228,6 @@ run_llama_bench_rpc() {
return return
fi fi
if [[ -s "$log_file" ]]; then
echo "[SKIP] ${log_file} already exists."
return
fi
if [[ -z "$client_cmd" ]]; then if [[ -z "$client_cmd" ]]; then
echo "[WARN] No client llama-bench command defined for ${env} - skipping." echo "[WARN] No client llama-bench command defined for ${env} - skipping."
return return
@@ -240,21 +241,44 @@ run_llama_bench_rpc() {
fi fi
fi fi
kill_local_llamabench
echo
echo "> [${env}${suffix}] ${model_name}"
echo " -> log: ${log_file}"
local -a client_cmd_ary local -a client_cmd_ary
# shellcheck disable=SC2206 # intentional word splitting # shellcheck disable=SC2206 # intentional word splitting
client_cmd_ary=( $client_cmd ) client_cmd_ary=( $client_cmd )
for ctx in default longctx32768; do
local ctx_suffix=""
local ctx_reps=3
local -a ctx_args=()
if [[ "$ctx" == longctx32768 ]]; then
ctx_suffix="__longctx32768"
ctx_reps=1
ctx_args=( -p 2048 -n 32 -d 32768 )
if [[ "$env" == *vulkan* ]]; then
ctx_args+=( -ub 512 )
else
ctx_args+=( -ub 2048 )
fi
fi
local log_file="$RESULTDIR/${model_name}__${env}${suffix}${ctx_suffix}__rpc.log"
if [[ -s "$log_file" ]]; then
echo "[SKIP] ${log_file} already exists."
continue
fi
kill_local_llamabench
echo
echo "> [${env}${suffix}] ${model_name} (${ctx})"
echo " -> log: ${log_file}"
local -a cmd=( local -a cmd=(
"${client_cmd_ary[@]}" "${client_cmd_ary[@]}"
-mmp 0 -mmp 0
-m "$model_path" -m "$model_path"
-fa 1 -fa 1
"${ctx_args[@]}"
-r "$ctx_reps"
--rpc "${RPC_HOST}:${RPC_PORT}" --rpc "${RPC_HOST}:${RPC_PORT}"
) )
@@ -264,6 +288,7 @@ run_llama_bench_rpc() {
else else
echo "[ERROR] llama-bench failed for ${env} / ${model_name} (see ${log_file})" echo "[ERROR] llama-bench failed for ${env} / ${model_name} (see ${log_file})"
fi fi
done
} }
run_all() { run_all() {