xref: /petsc/config/examples/arch-olcf-spock.py (revision 9d22c58dc169b06b62bf3bb4420ef95a9cf444c0)
1*9d22c58dSStefano Zampini#!/usr/bin/python3
2*9d22c58dSStefano Zampini
3*9d22c58dSStefano Zampini#As suggested from OLCF staff this is my rc file
4*9d22c58dSStefano Zampini#
5*9d22c58dSStefano Zampini#module load craype-accel-amd-gfx908
6*9d22c58dSStefano Zampini#module load PrgEnv-cray
7*9d22c58dSStefano Zampini#module load rocm
8*9d22c58dSStefano Zampini#export PE_MPICH_GTL_DIR_amd_gfx908="-L/opt/cray/pe/mpich/8.1.4/gtl/lib"
9*9d22c58dSStefano Zampini#export PE_MPICH_GTL_LIBS_amd_gfx908="-lmpi_gtl_hsa"
10*9d22c58dSStefano Zampini#export MPIR_CVAR_GPU_EAGER_DEVICE_MEM=0
11*9d22c58dSStefano Zampini#export MPICH_GPU_SUPPORT_ENABLED=1
12*9d22c58dSStefano Zampini#export MPICH_SMP_SINGLE_COPY_MODE=CMA
13*9d22c58dSStefano Zampini#
14*9d22c58dSStefano Zampini
15*9d22c58dSStefano Zampiniif __name__ == '__main__':
16*9d22c58dSStefano Zampini  import sys
17*9d22c58dSStefano Zampini  import os
18*9d22c58dSStefano Zampini  sys.path.insert(0, os.path.abspath('config'))
19*9d22c58dSStefano Zampini  import configure
20*9d22c58dSStefano Zampini  configure_options = [
21*9d22c58dSStefano Zampini    # When we compile HIP code in PETSc, we eventually include mpi.h.
22*9d22c58dSStefano Zampini    # MPI include folder is hidden by cc/CC and PETSc does not detect it
23*9d22c58dSStefano Zampini    '--HIPPPFLAGS=-I'+os.environ['MPICH_DIR']+'include',
24*9d22c58dSStefano Zampini    # Needed by MPICH:
25*9d22c58dSStefano Zampini    # ld.lld: error: /opt/cray/pe/mpich/8.1.4/gtl/lib/libmpi_gtl_hsa.so: undefined reference to hsa_amd_memory_pool_allocate
26*9d22c58dSStefano Zampini    # and many others
27*9d22c58dSStefano Zampini    '--LDFLAGS=-L'+os.environ['ROCM_PATH'],+'lib -lhsa-runtime64',
28*9d22c58dSStefano Zampini    '--PETSC_ARCH=arch-spock-debug',
29*9d22c58dSStefano Zampini    '--download-magma=1',
30*9d22c58dSStefano Zampini    '--with-64-bit-indices=0',
31*9d22c58dSStefano Zampini    '--with-cc=cc',
32*9d22c58dSStefano Zampini    '--with-cxx=CC',
33*9d22c58dSStefano Zampini    '--with-debugging=1',
34*9d22c58dSStefano Zampini    '--with-fc=ftn',
35*9d22c58dSStefano Zampini    '--with-fortran-bindings=0',
36*9d22c58dSStefano Zampini    '--with-hip=1',
37*9d22c58dSStefano Zampini    '--with-hipc=hipcc',
38*9d22c58dSStefano Zampini    '--with-magma-fortran-bindings=0',
39*9d22c58dSStefano Zampini    '--with-magma-gputarget=gfx908',
40*9d22c58dSStefano Zampini    '--with-mpiexec=srun -p ecp -N 1 -A csc314 -t 00:10:00',
41*9d22c58dSStefano Zampini    '--with-precision=double',
42*9d22c58dSStefano Zampini    '--with-scalar-type=real',
43*9d22c58dSStefano Zampini  ]
44*9d22c58dSStefano Zampini  configure.petsc_configure(configure_options)
45