1#!/usr/bin/python3 2 3# Modules loaded by default (on login to Crusher): 4# 5# 1) craype-x86-trento 9) cce/13.0.0 6# 2) libfabric/1.13.0.0 10) craype/2.7.13 7# 3) craype-network-ofi 11) cray-dsmml/0.2.2 8# 4) perftools-base/21.12.0 12) cray-libsci/21.08.1.2 9# 5) xpmem/2.3.2-2.2_1.16__g9ea452c.shasta 13) PrgEnv-cray/8.2.0 10# 6) cray-pmi/6.0.16 14) DefApps/default 11# 7) cray-pmi-lib/6.0.16 15) rocm/4.5.0 12# 8) tmux/3.2a 16) cray-mpich/8.1.12 13# 14# We use Cray Programming Environment, Cray compilers, Cray-mpich. 15# To enable GPU-aware MPI, one has to also set this runtime environment variable 16# 17# export MPICH_GPU_SUPPORT_ENABLED=1 18# 19# Additional note: If "craype-accel-amd-gfx90a" module is loaded (that is 20# needed for "OpenMP offload") - it causes link errors when using 'cc or hipcc' 21# with fortran objs, hence not used 22# 23 24if __name__ == '__main__': 25 import sys 26 import os 27 sys.path.insert(0, os.path.abspath('config')) 28 import configure 29 configure_options = [ 30 '--with-cc=cc', 31 '--with-cxx=CC', 32 '--with-fc=ftn', 33 'LIBS=-L{x}/gtl/lib -lmpi_gtl_hsa'.format(x=os.environ['CRAY_MPICH_ROOTDIR']), 34 '--with-debugging=0', 35 '--with-mpiexec=srun -p batch -N 1 -A csc314_crusher -t 00:10:00', 36 '--with-hip', 37 '--with-hipc=hipcc', 38 '--download-kokkos', 39 '--download-kokkos-kernels', 40 ] 41 configure.petsc_configure(configure_options) 42