CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
132 lines
3.5 KiB
Bash
Executable File
132 lines
3.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Copyright (C) 2022-2024 Advanced Micro Devices, Inc.
|
|
|
|
#set -eux
|
|
|
|
# benchmarks to run
|
|
# valid options are: (default will run all of them)
|
|
# syevd -> eigensolver D&C + QR algorithm (heevd in complex precision)
|
|
# syevdx -> eigensolver D&C + bisection (heevdx in complex precision)
|
|
# syevj -> eigensolver Jacobi (heevj in complex precision)
|
|
# syevjBatch -> eigensolver Jacobi batch version (heevjBatch in complex precision)
|
|
# gesvd -> SVD QR algorithm
|
|
# gesvdj -> SVD Jacobi
|
|
# gesvdjBatch -> SVD Jacobi batch version
|
|
# potrf -> Cholesky factorization
|
|
# potrfBatch -> Cholesky factorization batch version
|
|
# geqrf -> Orthogonal factorization
|
|
# (note: several can be selected)
|
|
Slist="syevd syevdx syevj syevjBatch gesvd gesvdj gesvdjBatch potrf potrfBatch geqrf"
|
|
|
|
# precisions to use
|
|
# valid options are: (default is d)
|
|
# s -> real single precision
|
|
# d -> real double precision
|
|
# c -> complex single precision
|
|
# z -> complex double precision
|
|
# (note: several can be selected)
|
|
Plist="s d c z"
|
|
|
|
# size cases to run:
|
|
# valid options are: (default is large)
|
|
# small -> see definitions in rocsolver-perfoptim-suite.py for included size values
|
|
# medium -> see definitions in rocsolver-perfoptim-suite.py for included size values
|
|
# large -> see definitions in rocsolver-perfoptim-suite.py for included size values
|
|
# (note: select only one as small is a sub-set of medium which is a sub-set of large)
|
|
Clist="small medium large"
|
|
|
|
|
|
# Get and validate input arguments:
|
|
error=true
|
|
havecase=false
|
|
suite=""
|
|
precision=""
|
|
case=""
|
|
|
|
if [ $# == 0 ]; then
|
|
error=false
|
|
suite=$Slist
|
|
precision="d"
|
|
case="large"
|
|
else
|
|
args=$@
|
|
for a in $args; do
|
|
for s in $Slist; do
|
|
if [ $a == $s ]; then
|
|
new=true
|
|
error=false
|
|
for ss in $suite; do
|
|
if [ $a == $ss ]; then
|
|
new=false
|
|
break
|
|
fi
|
|
done
|
|
if $new; then
|
|
suite+="$s "
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
for p in $Plist; do
|
|
if [ $a == $p ]; then
|
|
new=true
|
|
error=false
|
|
for pp in $precision; do
|
|
if [ $a == $pp ]; then
|
|
new=false
|
|
break
|
|
fi
|
|
done
|
|
if $new; then
|
|
precision+="$p "
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
for c in $Clist; do
|
|
if [ $a == $c ]; then
|
|
if $havecase; then
|
|
error=true
|
|
else
|
|
error=false
|
|
havecase=true
|
|
case+="$c "
|
|
fi
|
|
break
|
|
fi
|
|
done
|
|
done
|
|
fi
|
|
|
|
if $error; then
|
|
echo "Incorrect arguments..."
|
|
exit 1
|
|
fi
|
|
if [ -z "$suite" ]; then
|
|
suite=$Slist
|
|
fi
|
|
if [ -z "$precision" ]; then
|
|
precision="d"
|
|
fi
|
|
if [ -z "$case" ]; then
|
|
case="large"
|
|
fi
|
|
|
|
|
|
# ensure this script is in the cwd
|
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
|
|
|
# setup output directory
|
|
output_dir=rocsolver_customer01_benchmarks
|
|
mkdir -p "$output_dir"
|
|
|
|
# run benchmarks
|
|
for s in $suite; do
|
|
for p in $precision; do
|
|
for c in $case; do
|
|
python3 rocsolver-perfoptim-suite.py -v -o "$output_dir/$p${s}_benchmarks.csv" $s $p $c
|
|
done
|
|
done
|
|
done
|
|
|