updated benchmarks

This commit is contained in:
Donato Capitella
2025-11-30 08:20:12 +00:00
parent 82c6e04253
commit 7b4006b1d4
4 changed files with 51 additions and 42 deletions
+11 -6
View File
@@ -4,7 +4,6 @@ from pathlib import Path
RESULT_SOURCES = [
("results", False), # regular single-node runs
("results-rpc", True), # distributed RPC runs across two servers
]
OUT_JSON = "../docs/results.json"
@@ -64,18 +63,19 @@ def canonicalize_env(env):
def parse_env_flags(basename):
"""
pattern: <model>__<env>[__fa1][__hblt0][__longctx32768][__rpc]
Returns (env, fa, context_tag, context_tokens, rpc_flag)
pattern: <model>__<env>[__fa1][__hblt0][__longctx32768][__rpc][__single][__dual]
Returns (env, fa, context_tag, context_tokens, rpc_flag, gpu_config)
"""
parts = basename.split("__")
if len(parts) < 2:
return None, False, "default", None, False
return None, False, "default", None, False, "single"
env = parts[1]
fa = False
context_tag = "default"
context_tokens = None
rpc_flag = False
gpu_config = "single" # default to single if not specified
for raw_suffix in parts[2:]:
suffix = raw_suffix.lower()
@@ -93,8 +93,12 @@ def parse_env_flags(basename):
context_tokens = None
elif suffix == "rpc":
rpc_flag = True
elif suffix == "single":
gpu_config = "single"
elif suffix == "dual":
gpu_config = "dual"
return env, fa, context_tag, context_tokens, rpc_flag
return env, fa, context_tag, context_tokens, rpc_flag, gpu_config
def env_base_and_variant(env):
# e.g. "rocm6_4_2-rocwmma" -> ("rocm6_4_2", "rocwmma")
@@ -178,7 +182,7 @@ for results_dir, is_rpc_source in RESULT_SOURCES:
continue
model_raw, _rest = base.split("__", 1)
env, fa_from_name, context_tag, context_tokens, rpc_flag = parse_env_flags(base)
env, fa_from_name, context_tag, context_tokens, rpc_flag, gpu_config = parse_env_flags(base)
env = canonicalize_env(env)
if env:
envs.add(env)
@@ -276,6 +280,7 @@ for results_dir, is_rpc_source in RESULT_SOURCES:
"quant": quant,
"log": path,
"rpc": bool(is_rpc_source or rpc_flag),
"gpu_config": gpu_config,
"build": {"hash": build_hash, "number": build_num} if build_hash else None,
}
runs.append(run)
+16 -8
View File
@@ -30,11 +30,10 @@ declare -A CMDS=(
[rocm6_4_4-rocwmma]="toolbox run -c llama-rocm-6.4.4-rocwmma -- /usr/local/bin/llama-bench"
[rocm7.1]="toolbox run -c llama-rocm-7.1 -- /usr/local/bin/llama-bench"
[rocm7.1-rocwmma]="toolbox run -c llama-rocm-7.1-rocwmma -- /usr/local/bin/llama-bench"
[rocm-7alpha-rocwmma-improved]="toolbox run -c llama-rocm-7alpha-rocwmma-improved -- /usr/local/bin/llama-bench"
[rocm-7alpha]="toolbox run -c llama-rocm-7alpha -- /usr/local/bin/llama-bench"
[rocm-7alpha-rocwmma]="toolbox run -c llama-rocm-7alpha-rocwmma -- /usr/local/bin/llama-bench"
[rocm7_rc]="toolbox run -c llama-rocm-7rc -- /usr/local/bin/llama-bench"
[rocm7_rc-rocwmma]="toolbox run -c llama-rocm-7rc-rocwmma -- /usr/local/bin/llama-bench"
[rocm-7-nightly]="toolbox run -c llama-rocm-7-nightly -- /usr/local/bin/llama-bench"
[rocm-7-nightly-rocwmma]="toolbox run -c llama-rocm-7-nightly-rocwmma -- /usr/local/bin/llama-bench"
[rocm-7.9]="toolbox run -c llama-rocm-7.9 -- /usr/local/bin/llama-bench"
[rocm-7.9-rocwmma]="toolbox run -c llama-rocm-7.9-rocwmma -- /usr/local/bin/llama-bench"
[vulkan_amdvlk]="toolbox run -c llama-vulkan-amdvlk -- /usr/sbin/llama-bench"
[vulkan_radv]="toolbox run -c llama-vulkan-radv -- /usr/sbin/llama-bench"
)
@@ -50,6 +49,15 @@ get_hblt_modes() {
for MODEL_PATH in "${MODEL_PATHS[@]}"; do
MODEL_NAME="$(basename "$MODEL_PATH" .gguf)"
MODEL_SIZE=$(stat -c%s "$MODEL_PATH")
# Threshold: 30 GiB = 32212254720 bytes. Using 32000000000 as a safe cutoff.
if (( MODEL_SIZE > 32000000000 )); then
GPU_DEVICES="0,1"
GPU_SUFFIX="__dual"
else
GPU_DEVICES="0"
GPU_SUFFIX="__single"
fi
for ENV in "${!CMDS[@]}"; do
CMD="${CMDS[$ENV]}"
@@ -62,9 +70,9 @@ for MODEL_PATH in "${MODEL_PATHS[@]}"; do
if [[ "$ENV" == rocm* ]]; then
if [[ "$MODE" == off ]]; then
BASE_SUFFIX="__hblt0"
CMD_EFFECTIVE="${CMD_EFFECTIVE/-- /-- env ROCBLAS_USE_HIPBLASLT=0 }"
CMD_EFFECTIVE="${CMD_EFFECTIVE/-- /-- env HIP_VISIBLE_DEVICES=$GPU_DEVICES env ROCBLAS_USE_HIPBLASLT=0 }"
else
CMD_EFFECTIVE="${CMD_EFFECTIVE/-- /-- env ROCBLAS_USE_HIPBLASLT=1 }"
CMD_EFFECTIVE="${CMD_EFFECTIVE/-- /-- env HIP_VISIBLE_DEVICES=$GPU_DEVICES env ROCBLAS_USE_HIPBLASLT=1 }"
fi
fi
@@ -90,7 +98,7 @@ for MODEL_PATH in "${MODEL_PATHS[@]}"; do
fi
fi
OUT="$RESULTDIR/${MODEL_NAME}__${ENV}${SUFFIX}${CTX_SUFFIX}.log"
OUT="$RESULTDIR/${MODEL_NAME}__${ENV}${SUFFIX}${CTX_SUFFIX}${GPU_SUFFIX}.log"
CTX_REPS=3
if [[ "$CTX" == longctx32768 ]]; then
CTX_REPS=1