1#!/usr/bin/env python3 2 3import os 4petsc_hash_pkgs=os.path.join(os.getenv('HOME'),'petsc-hash-pkgs') 5 6if __name__ == '__main__': 7 import sys 8 import os 9 sys.path.insert(0, os.path.abspath('config')) 10 import configure 11 configure_options = [ 12 '--package-prefix-hash='+petsc_hash_pkgs, 13 '--with-make-test-np=3', 14 'COPTFLAGS=-g -O0', 15 'FOPTFLAGS=-g -O0', 16 'CXXOPTFLAGS=-g -O0', 17 '--with-coverage', 18 '--download-suitesparse', 19 '--download-mumps', 20 '--download-scalapack', 21 '--download-chaco', 22 '--download-ctetgen', 23 '--download-exodusii', 24 '--with-exodusii-fortran-bindings=1', 25 '--download-pnetcdf', 26 '--download-generator', 27 '--download-hdf5', 28 '--download-zlib', 29 '--download-metis', 30 '--download-ml', 31 '--download-netcdf', 32 '--download-parmetis', 33 '--download-triangle', 34 '--download-triangle-build-exec', 35 '--download-p4est', 36 '--download-mfem', 37 '--with-cuda', 38 '--with-openmp', 39 '--with-shared-libraries', 40 '--download-magma', 41 '--download-kblas', 42 '--download-h2opus', 43 # '--download-kokkos', # Kokkos-5.0 requires c++20 and cuda-12.2 or above, which break many packages 44 # '--download-kokkos-kernels', 45 '--download-hwloc', 46 #'--download-umpire', #'hypre' reserves 4G VRAM for each MPI process 47 '--download-hypre', 48 '--download-caliper', 49 '--download-raja', 50 '--download-amgx', 51 '--download-zfp', 52 '--download-butterflypack', 53 '--download-strumpack', 54 '--with-strict-petscerrorcode', 55 ] 56 57 configure.petsc_configure(configure_options) 58