diff --git a/.github/workflows/phoenix/bench.sh b/.github/workflows/phoenix/bench.sh index 4fc99cc1fa..0c2ed163eb 100644 --- a/.github/workflows/phoenix/bench.sh +++ b/.github/workflows/phoenix/bench.sh @@ -9,7 +9,7 @@ if [ "$job_device" == "gpu" ]; then fi if ["$job_device" == "gpu"]; then - ./mfc.sh bench --mem 12 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix $device_opts -n $n_ranks + ./mfc.sh bench --mem 12 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix-bench $device_opts -n $n_ranks else - ./mfc.sh bench --mem 1 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix $device_opts -n $n_ranks + ./mfc.sh bench --mem 1 -j $(nproc) -o "$job_slug.yaml" -- -c phoenix-bench $device_opts -n $n_ranks fi diff --git a/toolchain/templates/phoenix-bench.mako b/toolchain/templates/phoenix-bench.mako new file mode 100644 index 0000000000..e699da3e4c --- /dev/null +++ b/toolchain/templates/phoenix-bench.mako @@ -0,0 +1,58 @@ +#!/usr/bin/env bash + +<%namespace name="helpers" file="helpers.mako"/> + +% if engine == 'batch': +#SBATCH --nodes=${nodes} +#SBATCH --ntasks-per-node=${tasks_per_node} +#SBATCH --job-name="${name}" +#SBATCH --output="${name}.out" +#SBATCH --time=${walltime} +% if account: +#SBATCH --account=${account} +% endif +% if partition: +#SBATCH --partition=${partition} +% endif +% if quality_of_service: +#SBATCH --qos=${quality_of_service} +% endif +% if gpu: +#SBATCH --gres=gpu:V100:${tasks_per_node} +#SBATCH --mem-per-gpu=16G\ +% endif +% if email: +#SBATCH --mail-user=${email} +#SBATCH --mail-type="BEGIN, END, FAIL" +% endif +% endif + +${helpers.template_prologue()} + +ok ":) Loading modules:\n" +cd "${MFC_ROOT_DIR}" +. ./mfc.sh load -c p -m ${'g' if gpu else 'c'} +cd - > /dev/null +echo + +% for target in targets: + ${helpers.run_prologue(target)} + + % if not mpi: + (set -x; ${profiler} "${target.get_install_binpath(case)}") + % else: + mkdir -p /storage/scratch1/6/sbryngelson3/mytmp + chmod 777 /storage/scratch1/6/sbryngelson3/mytmp + (set -x; ${profiler} \ + mpirun --mca orte_tmpdir_base /storage/scratch1/6/sbryngelson3/mytmp \ + --np ${nodes*tasks_per_node} \ + --bind-to none \ + "${target.get_install_binpath(case)}") + % endif + + ${helpers.run_epilogue(target)} + + echo +% endfor + +${helpers.template_epilogue()}