updated benchmark script to cover HBLASLT for all rocm backends
This commit is contained in:
@@ -39,26 +39,33 @@ declare -A CMDS=(
|
|||||||
[vulkan_radv]="toolbox run -c llama-vulkan-radv -- /usr/sbin/llama-bench"
|
[vulkan_radv]="toolbox run -c llama-vulkan-radv -- /usr/sbin/llama-bench"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
get_hblt_modes() {
|
||||||
|
local env="$1"
|
||||||
|
if [[ "$env" == rocm* ]]; then
|
||||||
|
printf '%s\n' default off
|
||||||
|
else
|
||||||
|
printf '%s\n' default
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
for MODEL_PATH in "${MODEL_PATHS[@]}"; do
|
for MODEL_PATH in "${MODEL_PATHS[@]}"; do
|
||||||
MODEL_NAME="$(basename "$MODEL_PATH" .gguf)"
|
MODEL_NAME="$(basename "$MODEL_PATH" .gguf)"
|
||||||
|
|
||||||
for ENV in "${!CMDS[@]}"; do
|
for ENV in "${!CMDS[@]}"; do
|
||||||
CMD="${CMDS[$ENV]}"
|
CMD="${CMDS[$ENV]}"
|
||||||
|
mapfile -t HBLT_MODES < <(get_hblt_modes "$ENV")
|
||||||
# For ROCm 6.4.4 and 7 envs, run default + HIPBLASLT=0 variants; others: default only
|
|
||||||
if [[ "$ENV" == rocm7* || "$ENV" == rocm6_4_* ]]; then
|
|
||||||
HBLT_MODES=( default off )
|
|
||||||
else
|
|
||||||
HBLT_MODES=( default )
|
|
||||||
fi
|
|
||||||
|
|
||||||
for MODE in "${HBLT_MODES[@]}"; do
|
for MODE in "${HBLT_MODES[@]}"; do
|
||||||
BASE_SUFFIX=""
|
BASE_SUFFIX=""
|
||||||
CMD_EFFECTIVE="$CMD"
|
CMD_EFFECTIVE="$CMD"
|
||||||
|
|
||||||
|
if [[ "$ENV" == rocm* ]]; then
|
||||||
if [[ "$MODE" == off ]]; then
|
if [[ "$MODE" == off ]]; then
|
||||||
BASE_SUFFIX="__hblt0"
|
BASE_SUFFIX="__hblt0"
|
||||||
# inject env inside the container invocation: after the "--"
|
|
||||||
CMD_EFFECTIVE="${CMD_EFFECTIVE/-- /-- env ROCBLAS_USE_HIPBLASLT=0 }"
|
CMD_EFFECTIVE="${CMD_EFFECTIVE/-- /-- env ROCBLAS_USE_HIPBLASLT=0 }"
|
||||||
|
else
|
||||||
|
CMD_EFFECTIVE="${CMD_EFFECTIVE/-- /-- env ROCBLAS_USE_HIPBLASLT=1 }"
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# run twice: baseline and with flash attention
|
# run twice: baseline and with flash attention
|
||||||
|
|||||||
Reference in New Issue
Block a user