diff --git a/scripts/spack_configs/pangea-4/spack.yaml b/scripts/spack_configs/pangea-4/spack.yaml new file mode 100644 index 00000000..01c09bbc --- /dev/null +++ b/scripts/spack_configs/pangea-4/spack.yaml @@ -0,0 +1,215 @@ +# This is a Spack Environment file for Pangea-4. +# +# It describes a set of packages to be installed, along with +# configuration settings. +# +# Run command from the top-level of the repository: +# ./scripts/uberenv/uberenv.py \ +# --spec "%gcc@12.2.1 ~openmp~pygeosx+docs" \ +# --spack-env-file=scripts/spack_configs/pangea-4/spack.yaml \ +# --project-json=.uberenv_config.json \ +# --prefix ${GEOS_TPL_DIR} +spack: + config: + install_tree: + root: $spack/.. + projections: + all: '{compiler.name}-{compiler.version}/{name}-{version}-{hash}' + misc_cache: $spack/../misc_cache + test_stage: $spack/../test_stage + build_stage:: + - $spack/../build_stage + + # Regular TPLs do not need views + view: false + + ############# + # COMPILERS # + ############# + + compilers: + - compiler: + spec: gcc@=12.2.1 + paths: + cc: /opt/rh/gcc-toolset-12/root/usr/bin/gcc + cxx: /opt/rh/gcc-toolset-12/root/usr/bin/g++ + f77: /opt/rh/gcc-toolset-12/root/usr/bin/gfortran + fc: /opt/rh/gcc-toolset-12/root/usr/bin/gfortran + flags: + cflags: -march=native -mtune=native + cxxflags: -march=native -mtune=native + operating_system: rhel8 + target: x86_64 + modules: [] + environment: + set: # Needed for scotch + BISON: bison + FLEX: flex + extra_rpaths: [] + + ############# + # PACKAGES # + ############# + + packages: + all: + target: [znver3] + compiler: [gcc] + providers: + blas: [intel-oneapi-mkl] + lapack: [intel-oneapi-mkl] + mpi: [hpcx-mpi] + + #### + # make sure spack doesn't rebuild mpi, blas and lapack libs + # without this it will try to build mpich and openblas + mpi: + buildable: false + blas: + buildable: false + lapack: + buildable: false + + #### + # spec of packages to build for + + # v0.6.2 + blt: + require: "@git.9ff77344f0b2a6ee345e452bddd6bfd46cbbfa35=develop" + # v2.32.0-33 + hypre: + require: "@git.21e5953ddc6daaa24699236108866afa597a415c" + # v2025.0.3 + chai: + require: "@git.4b9060b18b9bec1167026cfb3132bd540c4bd56b=develop" + # v2025.0.3.0 + umpire: + require: "@git.1ed0669c57f041baa1f1070693991c3a7a43e7ee=develop" + # v2025.0.3.0 + raja: + require: "@git.1d70abf171474d331f1409908bdf1b1c3fe19222=develop" + # v2025.0.3.0 + camp: + require: "@git.ee0a3069a7ae72da8bcea63c06260fad34901d43=main" + # v2.12.0 + caliper: + require: "@git.287b7f3ad2d12f520aad04268d44f353cd05403c" + # v0.9.2 + conduit: + require: "@git.ad86e316ad56a75c099d30ca5ce75cff275b5924=develop" + # master - 04/12/20 + uncrustify: + require: "@git.401a4098bce9dcc47e024987403f2d59d9ba7bd2" + # master - 04/26/20 + superlu-dist: + require: "@git.0f6efc377df2440c235452d13d28d2c717f832a1" + + #### + # spec of spack packages to reuse + + intel-oneapi-mkl: + externals: + - spec: intel-oneapi-mkl@2023.2.0 threads=openmp + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-12.1/intel-oneapi-mkl-2023.2.0-7kkfgmz + buildable: False + python: + externals: + - spec: python@3.11.6 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-8.5.0/python-3.11.6-75o2uch + buildable: false + cmake: + externals: + - spec: cmake@3.27.2 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-8.5.0/cmake-3.27.2-ph2542p + buildable: false + berkeley-db: + externals: + - spec: berkeley-db@18.1.40 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-12.1/berkeley-db-18.1.40-uoxwqaw + buildable: false + pugixml: + externals: + - spec: pugixml@1.13 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-12.1/pugixml-1.13-3lpqjua + buildable: false + perl: + externals: + - spec: perl@5.38.0 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-12.1/perl-5.38.0-4sckw56 + buildable: false + libiconv: + externals: + - spec: libiconv@1.17 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-12.1/libiconv-1.17-2vpp7pm + buildable: false + mpfr: + externals: + - spec: mpfr@4.2.0 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-12.1/mpfr-4.2.0-utwz5tl + buildable: false + gmp: + externals: + - spec: gmp@6.2.1 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-12.1/gmp-6.2.1-pwaztmh + buildable: false + bison: + externals: + - spec: bison@3.8.2 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/spack-0.21.0/opt/gcc-12.1/bison-3.8.2-2ym7ugj + buildable: false + + #### + # spec of system packages to reuse + + # bin + flex: + externals: + - spec: flex@2.6.1+lex + prefix: /usr + buildable: false + git: + externals: + - spec: git@2.39.3~tcltk + prefix: /usr + buildable: false + gmake: + externals: + - spec: gmake@4.2.1 + prefix: /usr + buildable: false + m4: + externals: + - spec: m4@1.4.18 + prefix: /usr + buildable: false + # libs + gcc-runtime: + externals: + - spec: gcc-runtime@12.2.1 + prefix: /opt/rh/gcc-toolset-12/root/usr + buildable: false + glibc: + externals: + - spec: glibc@2.28 + prefix: /usr + buildable: false + hpcx-mpi: + externals: + - spec: hpcx-mpi@2.20.0 + prefix: /lustre/p4scratch/data_local/sw/RHEL8/hpcx/2.20.0/ompi + buildable: false + pkgconf: + externals: + - spec: pkgconf@1.4.2 + prefix: /usr + buildable: false + readline: + buildable: false + externals: + - spec: readline@7.0 + prefix: /usr + zlib: + externals: + - spec: zlib@1.2.11 + prefix: /usr + buildable: false