xref: /petsc/config/examples/arch-olcf-crusher.py (revision a6f03b2cfb01b79a0375d4b4e78f75e18dd6b346)
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