xref: /petsc/config/examples/arch-ci-linux-cuda-pkgs.py (revision 47c84c5acc69ca2c78267fc7dfb4d7203bd055c8)
1b6ff768eSJacob Faibussowitsch#!/usr/bin/env python3
2b6ff768eSJacob Faibussowitsch
3b6ff768eSJacob Faibussowitschimport os
4b6ff768eSJacob Faibussowitschpetsc_hash_pkgs=os.path.join(os.getenv('HOME'),'petsc-hash-pkgs')
5b6ff768eSJacob Faibussowitsch
6b6ff768eSJacob Faibussowitschif __name__ == '__main__':
7b6ff768eSJacob Faibussowitsch  import sys
8b6ff768eSJacob Faibussowitsch  import os
9b6ff768eSJacob Faibussowitsch  sys.path.insert(0, os.path.abspath('config'))
10b6ff768eSJacob Faibussowitsch  import configure
11b6ff768eSJacob Faibussowitsch  configure_options = [
12b6ff768eSJacob Faibussowitsch    '--package-prefix-hash='+petsc_hash_pkgs,
13b6ff768eSJacob Faibussowitsch    '--with-make-test-np=3',
14b6ff768eSJacob Faibussowitsch    'COPTFLAGS=-g -O0',
15b6ff768eSJacob Faibussowitsch    'FOPTFLAGS=-g -O0',
16b6ff768eSJacob Faibussowitsch    'CXXOPTFLAGS=-g -O0',
17*955c50dbSJunchao Zhang    '--with-mpiexec-tail='+os.path.realpath("lib/petsc/bin/cuda_use_first_gpu.sh"),
18b6ff768eSJacob Faibussowitsch    '--with-coverage',
19b6ff768eSJacob Faibussowitsch    '--download-suitesparse',
20b6ff768eSJacob Faibussowitsch    '--download-mumps',
21b6ff768eSJacob Faibussowitsch    '--download-scalapack',
22b6ff768eSJacob Faibussowitsch    '--download-chaco',
23b6ff768eSJacob Faibussowitsch    '--download-ctetgen',
24b6ff768eSJacob Faibussowitsch    '--download-exodusii',
25eba371beSPierre Jolivet    '--with-exodusii-fortran-bindings=1',
26b6ff768eSJacob Faibussowitsch    '--download-pnetcdf',
27b6ff768eSJacob Faibussowitsch    '--download-generator',
28b6ff768eSJacob Faibussowitsch    '--download-hdf5',
29d2b7c016SPierre Jolivet    '--download-zlib',
30b6ff768eSJacob Faibussowitsch    '--download-metis',
31b6ff768eSJacob Faibussowitsch    '--download-ml',
32b6ff768eSJacob Faibussowitsch    '--download-netcdf',
33b6ff768eSJacob Faibussowitsch    '--download-parmetis',
34b6ff768eSJacob Faibussowitsch    '--download-triangle',
356de2a5eaSChris Kees    '--download-triangle-build-exec',
36b6ff768eSJacob Faibussowitsch    '--download-p4est',
3740018c87Sstefanozampini    '--download-mfem',
38b6ff768eSJacob Faibussowitsch    '--with-cuda',
39d2b7c016SPierre Jolivet    '--with-openmp',
40b6ff768eSJacob Faibussowitsch    '--with-shared-libraries',
41b6ff768eSJacob Faibussowitsch    '--download-magma',
42b6ff768eSJacob Faibussowitsch    '--download-kblas',
43b6ff768eSJacob Faibussowitsch    '--download-h2opus',
44257f855aSJunchao Zhang    # '--download-kokkos', # Kokkos-5.0 requires c++20 and cuda-12.2 or above, which break many packages
45257f855aSJunchao Zhang    # '--download-kokkos-kernels',
46b6ff768eSJacob Faibussowitsch    '--download-hwloc',
47*955c50dbSJunchao Zhang    '--download-umpire',
48b6ff768eSJacob Faibussowitsch    '--download-hypre',
498fc55d51SJunchao Zhang    '--download-caliper',
50b6ff768eSJacob Faibussowitsch    '--download-raja',
51b6ff768eSJacob Faibussowitsch    '--download-amgx',
5229e0a805SPieter Ghysels    '--download-zfp',
5329e0a805SPieter Ghysels    '--download-butterflypack',
5429e0a805SPieter Ghysels    '--download-strumpack',
55b6ff768eSJacob Faibussowitsch    '--with-strict-petscerrorcode',
56b6ff768eSJacob Faibussowitsch  ]
57b6ff768eSJacob Faibussowitsch
58b6ff768eSJacob Faibussowitsch  configure.petsc_configure(configure_options)
59