1#!/usr/bin/python 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-mpi=0', 14 '--with-cc=gcc', 15 '--with-cxx=g++', 16 '--with-fc=gfortran', 17 '--with-cuda=1', 18 '--download-hdf5', 19 '--download-metis', 20 '--download-superlu', 21 '--download-mumps', 22 '--with-mumps-serial', 23 '--download-p4est=1', 24 '--with-zlib=1', 25 # stress-test h2opus: mpiuni and CPU code while PETSc has GPU support 26 '--download-h2opus', 27 # need to pin c++14 since nvcc uses gcc 8 (with std=c++14), petsc uses gcc 9 (with 28 # std=c++17), and interleaving this specific compiler and version combination seems to 29 # break linkage of static constexpr member variables 30 '--with-cxx-dialect=14', 31 '--with-shared-libraries=1', 32 '--download-slepc', 33 '--download-hpddm', 34 ] 35 configure.petsc_configure(configure_options) 36 37