summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--var/spack/repos/builtin/packages/amrex/package.py57
-rw-r--r--var/spack/repos/builtin/packages/py-amrex/package.py16
-rw-r--r--var/spack/repos/builtin/packages/py-picmistandard/package.py16
-rw-r--r--var/spack/repos/builtin/packages/warpx/package.py51
4 files changed, 103 insertions, 37 deletions
diff --git a/var/spack/repos/builtin/packages/amrex/package.py b/var/spack/repos/builtin/packages/amrex/package.py
index cd5b9e9cba..724b5130c1 100644
--- a/var/spack/repos/builtin/packages/amrex/package.py
+++ b/var/spack/repos/builtin/packages/amrex/package.py
@@ -120,7 +120,20 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
description="Real precision (double/single)",
values=("single", "double"),
)
- variant("eb", default=False, description="Build Embedded Boundary classes")
+ variant("ascent", default=False, description="Enable Ascent in situ visualization")
+ variant(
+ "catalyst",
+ default=False,
+ description="Enable Catalyst2 in situ visualization",
+ when="@24.09:",
+ )
+ variant(
+ "conduit",
+ default=False,
+ description="Enable Conduit for data exchange (in situ visualization)",
+ )
+ variant("eb", default=True, description="Build Embedded Boundary classes", when="@24.10:")
+ variant("eb", default=False, description="Build Embedded Boundary classes", when="@:24.09")
variant("fortran", default=False, description="Build Fortran API")
variant("linear_solvers", default=True, description="Build linear solvers")
variant("amrdata", default=False, description="Build data services")
@@ -136,9 +149,20 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
# Build dependencies
depends_on("mpi", when="+mpi")
- depends_on("sundials@4.0.0:4.1.0 +ARKODE +CVODE", when="@19.08:20.11 +sundials")
- depends_on("sundials@5.7.0: +ARKODE +CVODE", when="@21.07:22.04 +sundials")
- depends_on("sundials@6.0.0: +ARKODE +CVODE", when="@22.05: +sundials")
+ with when("+ascent"):
+ depends_on("ascent")
+ depends_on("ascent +cuda", when="+cuda")
+ depends_on("ascent +mpi", when="+mpi")
+ with when("+conduit"):
+ depends_on("conduit")
+ depends_on("conduit +mpi", when="+mpi")
+ with when("+catalyst"):
+ depends_on("libcatalyst@2.0: +conduit")
+ depends_on("libcatalyst +mpi", when="+mpi")
+ with when("+sundials"):
+ depends_on("sundials@4.0.0:4.1.0 +ARKODE +CVODE", when="@19.08:20.11")
+ depends_on("sundials@5.7.0: +ARKODE +CVODE", when="@21.07:22.04")
+ depends_on("sundials@6.0.0: +ARKODE +CVODE", when="@22.05:")
for arch in CudaPackage.cuda_arch_values:
depends_on(
"sundials@5.7.0: +ARKODE +CVODE +cuda cuda_arch=%s" % arch,
@@ -158,9 +182,10 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
when="@22.05: +sundials +rocm amdgpu_target=%s" % tgt,
)
- depends_on("cuda@9.0.0:", when="@:22.04 +cuda")
- depends_on("cuda@10.0.0:", when="@22.05: +cuda")
- depends_on("cuda@11.0.0:", when="@22.12: +cuda")
+ with when("+cuda"):
+ depends_on("cuda@9.0.0:", when="@:22.04")
+ depends_on("cuda@10.0.0:", when="@22.05:")
+ depends_on("cuda@11.0.0:", when="@22.12:")
depends_on("python@2.7:", type="build", when="@:20.04")
depends_on("cmake@3.5:", type="build", when="@:18.10")
depends_on("cmake@3.13:", type="build", when="@18.11:19.03")
@@ -175,9 +200,10 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
depends_on("rocrand", type="build", when="+rocm")
depends_on("hiprand", type="build", when="+rocm")
depends_on("rocprim", type="build", when="@21.05: +rocm")
- depends_on("hypre@2.18.2:", type="link", when="@:21.02 +hypre")
- depends_on("hypre@2.19.0:", type="link", when="@21.03: ~cuda +hypre")
- depends_on("hypre@2.20.0:", type="link", when="@21.03: +cuda +hypre")
+ with when("+hypre"):
+ depends_on("hypre@2.18.2:", type="link", when="@:21.02")
+ depends_on("hypre@2.19.0:", type="link", when="@21.03: ~cuda")
+ depends_on("hypre@2.20.0:", type="link", when="@21.03: +cuda")
depends_on("petsc", type="link", when="+petsc")
depends_on("intel-oneapi-mkl", type=("build", "link"), when="+sycl")
@@ -188,6 +214,14 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
# Check options compatibility
conflicts(
+ "+ascent", when="~conduit", msg="AMReX Ascent support needs Conduit interfaces (+conduit)"
+ )
+ conflicts(
+ "+catalyst",
+ when="~conduit",
+ msg="AMReX Catalyst2 support needs Conduit interfaces (+conduit)",
+ )
+ conflicts(
"+sundials",
when="@19.08:20.11 ~fortran",
msg="AMReX SUNDIALS support needs AMReX Fortran API (+fortran)",
@@ -274,6 +308,9 @@ class Amrex(CMakePackage, CudaPackage, ROCmPackage):
"-DUSE_XSDK_DEFAULTS=ON",
self.define_from_variant("AMReX_SPACEDIM", "dimensions"),
self.define_from_variant("BUILD_SHARED_LIBS", "shared"),
+ self.define_from_variant("AMReX_ASCENT", "ascent"),
+ self.define_from_variant("AMReX_CATALYST", "catalyst"),
+ self.define_from_variant("AMReX_CONDUIT", "conduit"),
self.define_from_variant("AMReX_MPI", "mpi"),
self.define_from_variant("AMReX_OMP", "openmp"),
"-DXSDK_PRECISION:STRING=%s" % self.spec.variants["precision"].value.upper(),
diff --git a/var/spack/repos/builtin/packages/py-amrex/package.py b/var/spack/repos/builtin/packages/py-amrex/package.py
index 0aed567373..60f8687445 100644
--- a/var/spack/repos/builtin/packages/py-amrex/package.py
+++ b/var/spack/repos/builtin/packages/py-amrex/package.py
@@ -11,7 +11,7 @@ class PyAmrex(CMakePackage, PythonExtension, CudaPackage, ROCmPackage):
"""AMReX Python Bindings with pybind11"""
homepage = "https://amrex-codes.github.io/amrex/"
- url = "https://github.com/AMReX-Codes/pyamrex/archive/refs/tags/24.08.tar.gz"
+ url = "https://github.com/AMReX-Codes/pyamrex/archive/refs/tags/24.10.tar.gz"
git = "https://github.com/AMReX-Codes/pyamrex.git"
maintainers("ax3l", "RTSandberg", "sayerhs", "WeiqunZhang")
@@ -19,7 +19,12 @@ class PyAmrex(CMakePackage, PythonExtension, CudaPackage, ROCmPackage):
license("BSD-3-Clause-LBNL")
version("develop", branch="development")
- version("24.08", sha256="e7179d88261f64744f392a2194ff2744fe323fe0e21d0742ba60458709a1b47e")
+ version("24.10", sha256="dc1752ed3fbd5113dcfdbddcfe6c3c458e572b288ac9d41ed3ed7db130591d74")
+ version(
+ "24.08",
+ sha256="e7179d88261f64744f392a2194ff2744fe323fe0e21d0742ba60458709a1b47e",
+ deprecated=True,
+ )
version(
"24.04",
sha256="ab85695bb9644b702d0fc84e77205d264d27ba94999cab912c8a3212a7eb77fc",
@@ -32,7 +37,7 @@ class PyAmrex(CMakePackage, PythonExtension, CudaPackage, ROCmPackage):
deprecated=True,
)
- for v in ["24.08", "24.04", "24.03"]:
+ for v in ["24.10", "24.08", "24.04", "24.03"]:
depends_on("amrex@{0}".format(v), when="@{0}".format(v), type=("build", "link"))
variant(
@@ -60,10 +65,11 @@ class PyAmrex(CMakePackage, PythonExtension, CudaPackage, ROCmPackage):
depends_on("cxx", type="build")
- depends_on("cmake@3.20:", type="build")
+ depends_on("cmake@3.20:3", type="build", when="@:24.08")
+ depends_on("cmake@3.24:3", type="build", when="@24.09:")
depends_on("python@3.8:", type=("build", "run"))
depends_on("py-mpi4py@2.1.0:", type=("build", "run"), when="+mpi")
- depends_on("py-numpy@1.15.0:1", type=("build", "run"))
+ depends_on("py-numpy@1.15:", type=("build", "run"))
depends_on("py-packaging@23:", type="build")
depends_on("py-pip@23:", type="build")
depends_on("py-setuptools@42:", type="build")
diff --git a/var/spack/repos/builtin/packages/py-picmistandard/package.py b/var/spack/repos/builtin/packages/py-picmistandard/package.py
index fd0998176f..b35dc0a4ee 100644
--- a/var/spack/repos/builtin/packages/py-picmistandard/package.py
+++ b/var/spack/repos/builtin/packages/py-picmistandard/package.py
@@ -11,11 +11,12 @@ class PyPicmistandard(PythonPackage):
homepage = "https://picmi-standard.github.io"
git = "https://github.com/picmi-standard/picmi.git"
- pypi = "picmistandard/picmistandard-0.29.0.tar.gz"
+ pypi = "picmistandard/picmistandard-0.30.0.tar.gz"
maintainers("ax3l", "dpgrote", "RemiLehe")
version("master", branch="master")
+ version("0.30.0", sha256="28b892b242e0cc044ad987d6bdc12811fe4a478d5096d6bc5989038ee9d9dab6")
version("0.29.0", sha256="dc0bf3ddd3635df9935ac569b3085de387150c4f8e9851897078bb12d123dde8")
version("0.28.0", sha256="aa980b0fb49fc3ff9c7e32b5927b3700c4660aefbf96567bac1f8c9c93bb7831")
version("0.26.0", sha256="b22689f576d064bf0cd8f435621e912359fc2ee9347350eab845d2d36ebb62eb")
@@ -49,14 +50,7 @@ class PyPicmistandard(PythonPackage):
deprecated=True,
)
- depends_on("python@3.6:", type=("build", "run"))
- depends_on("py-numpy@1.15:", type=("build", "run"))
- depends_on("py-scipy@1.5:", type=("build", "run"))
+ depends_on("python@3.8:", type=("build", "run"))
+ depends_on("py-numpy@1.15:1", type=("build", "run"))
+ depends_on("py-scipy@1.5:1", type=("build", "run"))
depends_on("py-setuptools", type="build")
-
- @property
- def build_directory(self):
- if self.spec.satisfies("@develop") or self.spec.satisfies("@0.0.16"):
- return "PICMI_Python"
- else:
- return "./"
diff --git a/var/spack/repos/builtin/packages/warpx/package.py b/var/spack/repos/builtin/packages/warpx/package.py
index 5b13827d25..82a8610c4f 100644
--- a/var/spack/repos/builtin/packages/warpx/package.py
+++ b/var/spack/repos/builtin/packages/warpx/package.py
@@ -16,7 +16,7 @@ class Warpx(CMakePackage, PythonExtension):
"""
homepage = "https://ecp-warpx.github.io"
- url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/24.08.tar.gz"
+ url = "https://github.com/ECP-WarpX/WarpX/archive/refs/tags/24.10.tar.gz"
git = "https://github.com/ECP-WarpX/WarpX.git"
maintainers("ax3l", "dpgrote", "EZoni", "RemiLehe")
@@ -26,7 +26,12 @@ class Warpx(CMakePackage, PythonExtension):
# NOTE: if you update the versions here, also see py-warpx
version("develop", branch="development")
- version("24.08", sha256="8da1f2967f613a65a295260260aa4f081ac1d1b7c1d6987d294e02b86099df08")
+ version("24.10", sha256="1fe3a86bf820a2ecef853cdcd9427fba4e0cb1efb05326da7dc9dbf94551202f")
+ version(
+ "24.08",
+ sha256="8da1f2967f613a65a295260260aa4f081ac1d1b7c1d6987d294e02b86099df08",
+ deprecated=True,
+ )
version(
"23.08",
sha256="67695ff04b83d1823ea621c19488e54ebaf268532b0e5eb4ea8ad293d7ab3ddc",
@@ -177,6 +182,12 @@ class Warpx(CMakePackage, PythonExtension):
variant("app", default=True, description="Build the WarpX executable application")
variant("ascent", default=False, description="Enable Ascent in situ visualization")
+ variant(
+ "catalyst",
+ default=False,
+ description="Enable Catalyst2 in situ visualization",
+ when="@24.09:",
+ )
variant("sensei", default=False, description="Enable SENSEI in situ visualization")
variant(
"compute",
@@ -201,7 +212,8 @@ class Warpx(CMakePackage, PythonExtension):
description="Number of spatial dimensions",
when="@23.06:",
)
- variant("eb", default=False, description="Embedded boundary support (in development)")
+ variant("eb", default=True, description="Embedded boundary support", when="@24.10:")
+ variant("eb", default=False, description="Embedded boundary support", when="@:24.09")
# Spack defaults to False but pybind11 defaults to True (and IPO is highly
# encouraged to be used)
variant(
@@ -233,7 +245,7 @@ class Warpx(CMakePackage, PythonExtension):
depends_on("cxx", type="build")
- for v in ["24.08", "develop"]:
+ for v in ["24.10", "24.08", "develop"]:
depends_on(
f"amrex@{v} build_system=cmake +linear_solvers +pic +particles +shared +tiny_profile",
when=f"@{v}",
@@ -241,13 +253,20 @@ class Warpx(CMakePackage, PythonExtension):
)
depends_on("py-amrex@{0}".format(v), when="@{0} +python".format(v), type=("build", "run"))
- depends_on("ascent", when="+ascent")
- depends_on("ascent +cuda", when="+ascent compute=cuda")
- depends_on("ascent +mpi", when="+ascent +mpi")
depends_on("boost@1.66.0: +math", when="+qedtablegen")
depends_on("cmake@3.15.0:", type="build")
depends_on("cmake@3.18.0:", type="build", when="@22.01:")
depends_on("cmake@3.20.0:", type="build", when="@22.08:")
+ depends_on("cmake@3.24.0:", type="build", when="@24.09:")
+ with when("+ascent"):
+ depends_on("ascent", when="+ascent")
+ depends_on("ascent +cuda", when="+ascent compute=cuda")
+ depends_on("ascent +mpi", when="+ascent +mpi")
+ depends_on("amrex +ascent +conduit")
+ with when("+catalyst"):
+ depends_on("libcatalyst@2.0: +conduit")
+ depends_on("libcatalyst +mpi", when="+mpi")
+ depends_on("amrex +catalyst +conduit")
with when("dims=1"):
depends_on("amrex dimensions=1")
with when("dims=2"):
@@ -314,7 +333,8 @@ class Warpx(CMakePackage, PythonExtension):
depends_on("py-mpi4py@2.1.0:", type=("build", "run"), when="+mpi")
depends_on("py-periodictable@1.5:1", type=("build", "run"))
depends_on("py-picmistandard@0.28.0", type=("build", "run"), when="@23.11:24.07")
- depends_on("py-picmistandard@0.29.0", type=("build", "run"), when="@24.08:")
+ depends_on("py-picmistandard@0.29.0", type=("build", "run"), when="@24.08")
+ depends_on("py-picmistandard@0.30.0", type=("build", "run"), when="@24.09:")
depends_on("py-pip@23:", type="build")
depends_on("py-setuptools@42:", type="build")
depends_on("py-pybind11@2.12.0:", type=("build", "link"))
@@ -373,6 +393,7 @@ class Warpx(CMakePackage, PythonExtension):
# variants
self.define_from_variant("WarpX_APP", "app"),
self.define_from_variant("WarpX_ASCENT", "ascent"),
+ self.define_from_variant("WarpX_CATALYST", "catalyst"),
self.define_from_variant("WarpX_SENSEI", "sensei"),
"-DWarpX_COMPUTE={0}".format(spec.variants["compute"].value.upper()),
"-DWarpX_DIMS={0}".format(";".join(spec.variants["dims"].value).upper()),
@@ -466,9 +487,17 @@ class Warpx(CMakePackage, PythonExtension):
install_test_root(self) if post_install else self.stage.source_path,
self.examples_src_dir,
)
- inputs_nD = {"1": "inputs_1d", "2": "inputs_2d", "3": "inputs_3d", "rz": "inputs_rz"}
- if spec.satisfies("@:21.12"):
- inputs_nD["rz"] = "inputs_2d_rz"
+ if spec.satisfies("@:24.09"):
+ inputs_nD = {"1": "inputs_1d", "2": "inputs_2d", "3": "inputs_3d", "rz": "inputs_rz"}
+ if spec.satisfies("@:21.12"):
+ inputs_nD["rz"] = "inputs_2d_rz"
+ else:
+ inputs_nD = {
+ "1": "inputs_test_1d_laser_acceleration",
+ "2": "inputs_base_2d",
+ "3": "inputs_base_3d",
+ "rz": "inputs_base_rz",
+ }
inputs = join_path(examples_dir, inputs_nD[dim])
cli_args = [inputs, "max_step=50", "diag1.intervals=10"]