1df3bd252SSatish Balay#!/usr/bin/env python3 2f26daa2dSSatish Balay 3f26daa2dSSatish Balayimport os 4f26daa2dSSatish Balaypetsc_hash_pkgs=os.path.join(os.getenv('HOME'),'petsc-hash-pkgs') 5f26daa2dSSatish Balay 6f26daa2dSSatish Balay# find the ifort libs location 7df3bd252SSatish Balayfrom shutil import which 8becf0a19SJed Brownifort_lib_dir=os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(which('ifort')))),'compiler','lib','intel64') 97864358aSSatish Balaympich_install_dir='/nfs/gce/projects/petsc/soft/u22.04/mpich-4.1-gcc1130-ifort20221019' 10f26daa2dSSatish Balaympich_lib_dir=os.path.join(mpich_install_dir,'lib') 11f26daa2dSSatish Balay 12f26daa2dSSatish Balayconfigure_options = [ 13f26daa2dSSatish Balay '--package-prefix-hash='+petsc_hash_pkgs, 14f26daa2dSSatish Balay # cannot use download-mpich with fortranlib-autodetect=0 so disabling 15f26daa2dSSatish Balay #'--with-cc=gcc', 16f26daa2dSSatish Balay #'--with-fc=ifort', 17f26daa2dSSatish Balay #'--with-cxx=g++', 18f26daa2dSSatish Balay #'--download-mpich=1', 19f26daa2dSSatish Balay #'--download-mpich-pm=gforker', 20f26daa2dSSatish Balay '--with-mpi-dir='+mpich_install_dir, 2141baa1e4SJacob Faibussowitsch 'LIBS=-L'+ifort_lib_dir+' -lifport -lifcoremt_pic -limf -lsvml -lm -lipgo -lirc -lpthread -L'+mpich_lib_dir+' -lmpifort -lmpi -lgcov', 22f26daa2dSSatish Balay 23f26daa2dSSatish Balay 'COPTFLAGS=-g -O', 24f26daa2dSSatish Balay 'FOPTFLAGS=-g -O', 25f26daa2dSSatish Balay 'CXXOPTFLAGS=-g -O', 26f26daa2dSSatish Balay 27f26daa2dSSatish Balay '--with-scalar-type=complex', 28*8143cb67SSatish Balay '--with-library-name-suffix=CMPLX', 29f26daa2dSSatish Balay '--download-hdf5', 30f26daa2dSSatish Balay '--with-zlib=1', 310cdb7fabSSatish Balay '--download-kokkos=1', 320cdb7fabSSatish Balay '--download-kokkos-kernels=1', 33689a5dfaSJacob Faibussowitsch '--download-fblaslapack=1', 34689a5dfaSJacob Faibussowitsch '--with-strict-petscerrorcode', 3541baa1e4SJacob Faibussowitsch '--with-coverage', 36f26daa2dSSatish Balay ] 37f26daa2dSSatish Balay 38f26daa2dSSatish Balayif __name__ == '__main__': 39f26daa2dSSatish Balay import sys,os 40f26daa2dSSatish Balay sys.path.insert(0,os.path.abspath('config')) 41f26daa2dSSatish Balay import configure 42f26daa2dSSatish Balay configure.petsc_configure(configure_options) 43