diff --git a/toolchain/bootstrap/modules.sh b/toolchain/bootstrap/modules.sh index 2185309ada..1770579988 100644 --- a/toolchain/bootstrap/modules.sh +++ b/toolchain/bootstrap/modules.sh @@ -46,7 +46,8 @@ if [ -v $u_c ]; then log "$BR""Brown$W: Oscar (o)" log "$B""DoD$W: Carpenter Cray (cc) | Carpenter GNU (c) | Nautilus (n)" log "$OR""Florida$W: HiPerGator (h)" - log_n "($G""a$W/$G""f$W/$G""s$W/$G""w$W/$B""tuo$W/$C""b$W/$C""e$CR/$C""d/$C""dai$CR/$Y""p$CR/$R""r$CR/$B""cc$CR/$B""c$CR/$B""n$CR/$BR""o"$CR"/$OR""h"$CR"): " + log "$C""WPI $W: Turing (t)" + log_n "($G""a$W/$G""f$W/$G""s$W/$G""w$W/$B""tuo$W/$C""b$W/$C""e$CR/$C""d/$C""dai$CR/$Y""p$CR/$R""r$CR/$B""cc$CR/$B""c$CR/$B""n$CR/$BR""o"$CR"/$OR""h"$CR/$C""t""$CR"): " read u_c log fi diff --git a/toolchain/modules b/toolchain/modules index d2169ad865..433908b162 100644 --- a/toolchain/modules +++ b/toolchain/modules @@ -102,3 +102,11 @@ h-gpu CC=/apps/compilers/nvhpc/25.9/Linux_x86_64/25.9/comm_libs/mpi/bin/mpicc h-gpu CXX=/apps/compilers/nvhpc/25.9/Linux_x86_64/25.9/comm_libs/mpi/bin/mpicxx h-gpu FC=/apps/compilers/nvhpc/25.9/Linux_x86_64/25.9/comm_libs/mpi/bin/mpifort h-gpu NVCOMPILER_COMM_LIBS_HOME=/apps/compilers/nvhpc/25.9/Linux_x86_64/25.9/comm_libs/12.9 + +t WPI Turing +t-all slurm +t-cpu gcc/12.1.0/i6yk33f openmpi/4.1.3/ebae7zc python/3.13.5/6anz4qy +t-gpu nvhpc/24.3/m4bujn7 python/3.13.5/6anz4qy +t-gpu CC=nvc CXX=nvc++ FC=nvfortran +t-gpu MFC_CUDA_CC=80,86 +t-gpu MPI_HOME=/cm/shared/spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-13.2.0/nvhpc-24.3-m4bujn7c3a4or53dloraad6pcqfxyqul/Linux_x86_64/24.3/comm_libs/openmpi/openmpi-3.1.5 diff --git a/toolchain/templates/turing.mako b/toolchain/templates/turing.mako new file mode 100644 index 0000000000..67c3b159df --- /dev/null +++ b/toolchain/templates/turing.mako @@ -0,0 +1,66 @@ +#!/usr/bin/env bash + +<%namespace name="helpers" file="helpers.mako"/> + +% if engine == 'batch': +#SBATCH --nodes=${nodes} +#SBATCH --ntasks-per-node=${tasks_per_node} +#SBATCH --cpus-per-task=1 +#SBATCH --job-name="${name}" +#SBATCH --time=${walltime} +% if partition: +#SBATCH --partition=${partition} +% endif +% if account: +#SBATCH --account="${account}" +% endif +% if gpu_enabled: +#SBATCH --gres=gpu:1 +#SBATCH --mem=208G +#SBATCH -C "A30|A100" +% endif +#SBATCH --output="${name}.out" +#SBATCH --error="${name}.err" +#SBATCH --export=ALL +% 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 t -m ${'g' if gpu_enabled else 'c'} +cd - > /dev/null +echo + +% if gpu_enabled: + export LD_LIBRARY_PATH=/cm/shared/spack/opt/spack/linux-ubuntu20.04-x86_64/gcc-13.2.0/cuda-12.3.0-vuydybqum6mloi2vvov7yn2juaurmtao/lib64:$LD_LIBRARY_PATH +% endif + +% for target in targets: + ${helpers.run_prologue(target)} + + % if not mpi: + (set -x; ${profiler} "${target.get_install_binpath(case)}") + % else: + % if gpu_enabled: + (set -x; ${profiler} \ + srun --gres=gpu:1 -C "A30|A100" \ + $MPI_HOME/bin/mpirun --np ${nodes*tasks_per_node} \ + "${target.get_install_binpath(case)}") + % else: + (set -x; ${profiler} \ + srun --mpi=pmi2 --ntasks=${nodes*tasks_per_node} \ + "${target.get_install_binpath(case)}") + % endif + % endif + + ${helpers.run_epilogue(target)} + + echo +% endfor + +${helpers.template_epilogue()}