xref: /petsc/config/examples/arch-ci-linux-cuda-pkgs.py (revision 257f855af0365a5127fc80d8fcd07a05b4868e27)
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',
17b6ff768eSJacob Faibussowitsch    '--with-coverage',
18b6ff768eSJacob Faibussowitsch    '--download-suitesparse',
19b6ff768eSJacob Faibussowitsch    '--download-mumps',
20b6ff768eSJacob Faibussowitsch    '--download-scalapack',
21b6ff768eSJacob Faibussowitsch    '--download-chaco',
22b6ff768eSJacob Faibussowitsch    '--download-ctetgen',
23b6ff768eSJacob Faibussowitsch    '--download-exodusii',
24eba371beSPierre Jolivet    '--with-exodusii-fortran-bindings=1',
25b6ff768eSJacob Faibussowitsch    '--download-pnetcdf',
26b6ff768eSJacob Faibussowitsch    '--download-generator',
27b6ff768eSJacob Faibussowitsch    '--download-hdf5',
28d2b7c016SPierre Jolivet    '--download-zlib',
29b6ff768eSJacob Faibussowitsch    '--download-metis',
30b6ff768eSJacob Faibussowitsch    '--download-ml',
31b6ff768eSJacob Faibussowitsch    '--download-netcdf',
32b6ff768eSJacob Faibussowitsch    '--download-parmetis',
33b6ff768eSJacob Faibussowitsch    '--download-triangle',
346de2a5eaSChris Kees    '--download-triangle-build-exec',
35b6ff768eSJacob Faibussowitsch    '--download-p4est',
3640018c87Sstefanozampini    '--download-mfem',
37b6ff768eSJacob Faibussowitsch    '--with-cuda',
38d2b7c016SPierre Jolivet    '--with-openmp',
39b6ff768eSJacob Faibussowitsch    '--with-shared-libraries',
40b6ff768eSJacob Faibussowitsch    '--download-magma',
41b6ff768eSJacob Faibussowitsch    '--download-kblas',
42b6ff768eSJacob Faibussowitsch    '--download-h2opus',
43*257f855aSJunchao Zhang    # '--download-kokkos', # Kokkos-5.0 requires c++20 and cuda-12.2 or above, which break many packages
44*257f855aSJunchao Zhang    # '--download-kokkos-kernels',
45b6ff768eSJacob Faibussowitsch    '--download-hwloc',
4604ba64a0SVictor A. P. Magri    #'--download-umpire', #'hypre' reserves 4G VRAM for each MPI process
47b6ff768eSJacob Faibussowitsch    '--download-hypre',
488fc55d51SJunchao Zhang    '--download-caliper',
49b6ff768eSJacob Faibussowitsch    '--download-raja',
50b6ff768eSJacob Faibussowitsch    '--download-amgx',
5129e0a805SPieter Ghysels    '--download-zfp',
5229e0a805SPieter Ghysels    '--download-butterflypack',
5329e0a805SPieter Ghysels    '--download-strumpack',
54b6ff768eSJacob Faibussowitsch    '--with-strict-petscerrorcode',
55b6ff768eSJacob Faibussowitsch  ]
56b6ff768eSJacob Faibussowitsch
57b6ff768eSJacob Faibussowitsch  configure.petsc_configure(configure_options)
58