1*5d94af91SJunchao Zhang#!/usr/bin/python3 2*5d94af91SJunchao Zhang 3*5d94af91SJunchao Zhang# Due to a series of issues (nvhpc versions etc), we don't have a workaround 4*5d94af91SJunchao Zhang# to use the Polaris default modules "PrgEnv-cray nvhpc" to build petsc 5*5d94af91SJunchao Zhang# with Kokkos, we use PrgEnv-gnu instead. One needs to 6*5d94af91SJunchao Zhang# 7*5d94af91SJunchao Zhang# module load cudatoolkit-standalone PrgEnv-gnu cray-libsci 8*5d94af91SJunchao Zhang# 9*5d94af91SJunchao Zhang# Note cray-libsci provides BLAS etc. In summary, we have 10*5d94af91SJunchao Zhang# 11*5d94af91SJunchao Zhang# $ module list 12*5d94af91SJunchao Zhang 13*5d94af91SJunchao Zhang# Currently Loaded Modules: 14*5d94af91SJunchao Zhang# 1) craype-x86-rome 5) cmake/3.23.2 9) gcc/11.2.0 13) cray-pmi/6.1.2 17) PrgEnv-gnu/8.3.3 15*5d94af91SJunchao Zhang# 2) libfabric/1.11.0.4.125 6) craype-accel-nvidia80 10) craype/2.7.15 14) cray-pmi-lib/6.0.17 16*5d94af91SJunchao Zhang# 3) craype-network-ofi 7) cray-libsci/21.08.1.2 11) cray-dsmml/0.2.2 15) cray-pals/1.1.7 17*5d94af91SJunchao Zhang# 4) perftools-base/22.05.0 8) cudatoolkit-standalone/11.8.0 12) cray-mpich/8.1.16 16) cray-libpals/1.1.7 18*5d94af91SJunchao Zhang 19*5d94af91SJunchao Zhangif __name__ == '__main__': 20*5d94af91SJunchao Zhang import sys 21*5d94af91SJunchao Zhang import os 22*5d94af91SJunchao Zhang sys.path.insert(0, os.path.abspath('config')) 23*5d94af91SJunchao Zhang import configure 24*5d94af91SJunchao Zhang configure_options = [ 25*5d94af91SJunchao Zhang '--with-cc=cc', 26*5d94af91SJunchao Zhang '--with-cxx=CC', 27*5d94af91SJunchao Zhang '--with-fc=ftn', 28*5d94af91SJunchao Zhang '--with-debugging=0', 29*5d94af91SJunchao Zhang '--with-cuda', 30*5d94af91SJunchao Zhang '--with-cudac=nvcc', 31*5d94af91SJunchao Zhang '--with-cuda-arch=80', # Since there is no easy way to auto-detect the cuda arch on the gpu-less Polaris login nodes, we explicitly set it. 32*5d94af91SJunchao Zhang '--download-kokkos', 33*5d94af91SJunchao Zhang '--download-kokkos-kernels', 34*5d94af91SJunchao Zhang ] 35*5d94af91SJunchao Zhang configure.petsc_configure(configure_options) 36*5d94af91SJunchao Zhang 37