1b6ff768eSJacob Faibussowitsch#!/usr/bin/env python3 2b6ff768eSJacob Faibussowitsch 3b6ff768eSJacob Faibussowitschimport os 4b6ff768eSJacob Faibussowitschpetsc_hash_pkgs=os.path.join(os.getenv('HOME'),'petsc-hash-pkgs') 5b6ff768eSJacob Faibussowitsch 6b6ff768eSJacob Faibussowitschif __name__ == '__main__': 7b6ff768eSJacob Faibussowitsch import sys 8b6ff768eSJacob Faibussowitsch import os 9b6ff768eSJacob Faibussowitsch sys.path.insert(0, os.path.abspath('config')) 10b6ff768eSJacob Faibussowitsch import configure 11b6ff768eSJacob Faibussowitsch configure_options = [ 12b6ff768eSJacob Faibussowitsch '--package-prefix-hash='+petsc_hash_pkgs, 13b6ff768eSJacob Faibussowitsch '--with-make-test-np=3', 14b6ff768eSJacob Faibussowitsch 'COPTFLAGS=-g -O0', 15b6ff768eSJacob Faibussowitsch 'FOPTFLAGS=-g -O0', 16b6ff768eSJacob Faibussowitsch 'CXXOPTFLAGS=-g -O0', 17*955c50dbSJunchao Zhang '--with-mpiexec-tail='+os.path.realpath("lib/petsc/bin/cuda_use_first_gpu.sh"), 18b6ff768eSJacob Faibussowitsch '--with-coverage', 19b6ff768eSJacob Faibussowitsch '--download-suitesparse', 20b6ff768eSJacob Faibussowitsch '--download-mumps', 21b6ff768eSJacob Faibussowitsch '--download-scalapack', 22b6ff768eSJacob Faibussowitsch '--download-chaco', 23b6ff768eSJacob Faibussowitsch '--download-ctetgen', 24b6ff768eSJacob Faibussowitsch '--download-exodusii', 25eba371beSPierre Jolivet '--with-exodusii-fortran-bindings=1', 26b6ff768eSJacob Faibussowitsch '--download-pnetcdf', 27b6ff768eSJacob Faibussowitsch '--download-generator', 28b6ff768eSJacob Faibussowitsch '--download-hdf5', 29d2b7c016SPierre Jolivet '--download-zlib', 30b6ff768eSJacob Faibussowitsch '--download-metis', 31b6ff768eSJacob Faibussowitsch '--download-ml', 32b6ff768eSJacob Faibussowitsch '--download-netcdf', 33b6ff768eSJacob Faibussowitsch '--download-parmetis', 34b6ff768eSJacob Faibussowitsch '--download-triangle', 356de2a5eaSChris Kees '--download-triangle-build-exec', 36b6ff768eSJacob Faibussowitsch '--download-p4est', 3740018c87Sstefanozampini '--download-mfem', 38b6ff768eSJacob Faibussowitsch '--with-cuda', 39d2b7c016SPierre Jolivet '--with-openmp', 40b6ff768eSJacob Faibussowitsch '--with-shared-libraries', 41b6ff768eSJacob Faibussowitsch '--download-magma', 42b6ff768eSJacob Faibussowitsch '--download-kblas', 43b6ff768eSJacob Faibussowitsch '--download-h2opus', 44257f855aSJunchao Zhang # '--download-kokkos', # Kokkos-5.0 requires c++20 and cuda-12.2 or above, which break many packages 45257f855aSJunchao Zhang # '--download-kokkos-kernels', 46b6ff768eSJacob Faibussowitsch '--download-hwloc', 47*955c50dbSJunchao Zhang '--download-umpire', 48b6ff768eSJacob Faibussowitsch '--download-hypre', 498fc55d51SJunchao Zhang '--download-caliper', 50b6ff768eSJacob Faibussowitsch '--download-raja', 51b6ff768eSJacob Faibussowitsch '--download-amgx', 5229e0a805SPieter Ghysels '--download-zfp', 5329e0a805SPieter Ghysels '--download-butterflypack', 5429e0a805SPieter Ghysels '--download-strumpack', 55b6ff768eSJacob Faibussowitsch '--with-strict-petscerrorcode', 56b6ff768eSJacob Faibussowitsch ] 57b6ff768eSJacob Faibussowitsch 58b6ff768eSJacob Faibussowitsch configure.petsc_configure(configure_options) 59