xref: /petsc/config/examples/arch-ci-linux-gcc-ifc-cmplx.py (revision a4bb395b3741b6d1f7a8d3253af7dbf5c72de37f)
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