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