AMReX: 23.06+ Multi-Dim Support (#37695)

* AMReX: 23.06+ Multi-Dim Support

This updated the Spack package to allow to install AMReX, modules of
AMReX in E4S deployments and dependent packages with support for
multiple dimensions. Due to an upstream change in AMReX, we do not
longer need to ship three, binary incompatible package variants.

* [E4S] oneAPI AMReX < 23.06 Variant

Work-around the auto-concretization to the multi-dim of `dimensions`,
which only in 23.06+ became a multi-variant.

* e4s cray rhel ci: temporarily disable amrex build until spurious ci failure can be resolved

---------

Co-authored-by: eugeneswalker <eugenesunsetwalker@gmail.com>
This commit is contained in:
Axel Huebl 2023-08-09 11:25:43 -07:00 committed by GitHub
parent c24471834b
commit 7d444038ee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 20 additions and 4 deletions

View File

@ -42,7 +42,6 @@ spack:
specs:
- adios2
- amrex
- butterflypack
- conduit
- flux-core
@ -62,6 +61,8 @@ spack:
- superlu-dist
- tau
# - amrex # disabled temporarily pending resolution of unreproducible CI failure
mirrors: { "mirror": "s3://spack-binaries-cray/develop/e4s-cray-rhel" }
cdash:

View File

@ -224,7 +224,7 @@ spack:
# GPU
- aml +ze
- amrex +sycl
- amrex +sycl dimensions=3
- arborx +sycl ^kokkos +sycl +openmp std=17 +tests +examples
- cabana +sycl ^kokkos +sycl +openmp std=17 +tests +examples
- kokkos +sycl +openmp std=17 +tests +examples

View File

@ -75,7 +75,22 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
version("18.09.1", sha256="a065ee4d1d98324b6c492ae20ea63ba12a4a4e23432bf5b3fe9788d44aa4398e")
# Config options
variant("dimensions", default="3", description="Dimensionality", values=("1", "2", "3"))
variant(
"dimensions",
default="3",
values=("1", "2", "3"),
multi=False,
description="Dimensionality",
when="@:23.05",
)
variant(
"dimensions",
default="1,2,3",
values=("1", "2", "3"),
multi=True,
description="Dimensionality",
when="@23.06:",
)
variant("shared", default=False, description="Build shared library")
variant("mpi", default=True, description="Build with MPI support")
variant("openmp", default=False, description="Build with OpenMP support")