1#!/usr/bin/env python3 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-cc=mpicc -cc=icx', # need to make mpicc/mpicxx also SYCL compilers. 14 '--with-cxx=mpicxx -cxx=icpx', 15 '--with-fc=0', 16 '--COPTFLAGS=-g -O2', 17 '--CXXOPTFLAGS=-g -O2', 18 '--SYCLOPTFLAGS=-g -O2', 19 # To suppress warnings in checking Kokkos-Kernels headers like: 20 # Kokkos_MathematicalFunctions.hpp:299:34: warning: comparison with infinity always evaluates 21 # to false in fast floating point modes [-Wtautological-constant-compare] 22 # KOKKOS_IMPL_MATH_UNARY_PREDICATE(isinf) 23 '--SYCLPPFLAGS=-Wno-tautological-constant-compare', 24 '--download-kokkos=1', 25 '--downoad-kokkos-kernels=1', 26 '--with-cuda=0', 27 '--with-sycl=1', 28 '--with-syclc=icpx', # dpcpp is deprecated by Intel. One should use 'icpx -fsycl' to compile sycl code. PETSc handles that automatically. 29 '--with-strict-petscerrorcode', 30 ] 31 32 configure.petsc_configure(configure_options) 33