xref: /petsc/config/examples/arch-ci-linux-gcc-ifc-cmplx.py (revision 0cdb7fab46455c49f83f31709c8a83f343fd1be4)
1f26daa2dSSatish Balay#!/usr/bin/env python
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
7f26daa2dSSatish Balayimport os
8f26daa2dSSatish Balayimport distutils.spawn
9adca0f4fSSatish Balayifort_lib_dir=os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(distutils.spawn.find_executable('ifort')))),'compiler','lib','intel64')
10adca0f4fSSatish Balaympich_install_dir='/nfs/gce/projects/petsc/soft/gcc-7.4.0-ifort-19.0.3/mpich-3.3.2'
11f26daa2dSSatish Balaympich_lib_dir=os.path.join(mpich_install_dir,'lib')
12f26daa2dSSatish Balay
13f26daa2dSSatish Balayconfigure_options = [
14f26daa2dSSatish Balay  '--package-prefix-hash='+petsc_hash_pkgs,
15f26daa2dSSatish Balay  # cannot use download-mpich with fortranlib-autodetect=0 so disabling
16f26daa2dSSatish Balay  #'--with-cc=gcc',
17f26daa2dSSatish Balay  #'--with-fc=ifort',
18f26daa2dSSatish Balay  #'--with-cxx=g++',
19f26daa2dSSatish Balay  #'--download-mpich=1',
20f26daa2dSSatish Balay  #'--download-mpich-pm=gforker',
21f26daa2dSSatish Balay  '--with-mpi-dir='+mpich_install_dir,
22adca0f4fSSatish Balay  'LIBS=-L'+ifort_lib_dir+' -lifport -lifcoremt_pic -limf -lsvml -lm -lipgo -lirc -lpthread -L'+mpich_lib_dir+' -lmpifort -lmpi',
23f26daa2dSSatish Balay
24f26daa2dSSatish Balay  'COPTFLAGS=-g -O',
25f26daa2dSSatish Balay  'FOPTFLAGS=-g -O',
26f26daa2dSSatish Balay  'CXXOPTFLAGS=-g -O',
27f26daa2dSSatish Balay
28f26daa2dSSatish Balay  '--with-scalar-type=complex',
29f26daa2dSSatish Balay  '--download-hdf5',
30f26daa2dSSatish Balay  '--with-zlib=1',
31*0cdb7fabSSatish Balay  '--download-kokkos=1',
32*0cdb7fabSSatish Balay  '--download-kokkos-kernels=1',
33f26daa2dSSatish Balay  '--download-fblaslapack=1'
34f26daa2dSSatish Balay  ]
35f26daa2dSSatish Balay
36f26daa2dSSatish Balayif __name__ == '__main__':
37f26daa2dSSatish Balay  import sys,os
38f26daa2dSSatish Balay  sys.path.insert(0,os.path.abspath('config'))
39f26daa2dSSatish Balay  import configure
40f26daa2dSSatish Balay  configure.petsc_configure(configure_options)
41