Update RADIUSS packages with latest release and sync with RSC implementation

This commit is contained in:
Adrien M. BERNEDE 2025-03-21 11:46:16 +01:00
parent d0c9e671eb
commit 2bcba95f75
7 changed files with 94 additions and 10 deletions

View File

@ -149,6 +149,19 @@ def _get_sys_type(self, spec):
sys_type = env["SYS_TYPE"] sys_type = env["SYS_TYPE"]
return sys_type return sys_type
@property
def cache_name(self):
hostname = socket.gethostname()
if "SYS_TYPE" in env:
hostname = hostname.rstrip("1234567890")
return "{0}-{1}-{2}@{3}-{4}.cmake".format(
hostname,
self._get_sys_type(self.spec),
self.spec.compiler.name,
self.spec.compiler.version,
self.spec.dag_hash(8),
)
def initconfig_compiler_entries(self): def initconfig_compiler_entries(self):
spec = self.spec spec = self.spec
entries = super().initconfig_compiler_entries() entries = super().initconfig_compiler_entries()

View File

@ -15,11 +15,17 @@ class Camp(CMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/LLNL/camp.git" git = "https://github.com/LLNL/camp.git"
url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz" url = "https://github.com/LLNL/camp/archive/v0.1.0.tar.gz"
maintainers("trws", "adrienbernede") maintainers("adrienbernede", "kab163", "trws")
license("BSD-3-Clause") license("BSD-3-Clause")
version("main", branch="main", submodules=False) version("main", branch="main", submodules=False)
version(
"2025.03.0",
tag="v2025.03.0",
commit="ee0a3069a7ae72da8bcea63c06260fad34901d43",
submodules=False,
)
version( version(
"2024.07.0", "2024.07.0",
tag="v2024.07.0", tag="v2024.07.0",
@ -106,7 +112,14 @@ def cmake_args(self):
options.append(self.define_from_variant("ENABLE_HIP", "rocm")) options.append(self.define_from_variant("ENABLE_HIP", "rocm"))
if spec.satisfies("+rocm"): if spec.satisfies("+rocm"):
options.append("-DHIP_ROOT_DIR={0}".format(spec["hip"].prefix)) rocm_root = dirname(spec["llvm-amdgpu"].prefix)
options.append("-DROCM_PATH={0}".format(rocm_root))
# there is only one dir like this, but the version component is unknown
options.append(
"-DHIP_CLANG_INCLUDE_PATH="
+ glob.glob("{}/lib/clang/*/include".format(spec["llvm-amdgpu"].prefix))[0]
)
archs = ";".join(self.spec.variants["amdgpu_target"].value) archs = ";".join(self.spec.variants["amdgpu_target"].value)
options.append("-DCMAKE_HIP_ARCHITECTURES={0}".format(archs)) options.append("-DCMAKE_HIP_ARCHITECTURES={0}".format(archs))

View File

@ -24,6 +24,24 @@ class Care(CachedCMakePackage, CudaPackage, ROCmPackage):
version("develop", branch="develop", submodules=False) version("develop", branch="develop", submodules=False)
version("master", branch="master", submodules=False) version("master", branch="master", submodules=False)
version(
"0.15.0",
tag="v0.15.0",
commit="aff9eea69b6d95342371aacc44b73bef785255f3",
submodules=False,
)
version(
"0.14.1",
tag="v0.14.1",
commit="110c6e5766ead59b231e2b05deecd7567874e907",
submodules=False,
)
version(
"0.14.0",
tag="v0.14.0",
commit="2784188a067abac35747d58b5a5daa1b3852756b",
submodules=False,
)
version( version(
"0.13.3", "0.13.3",
tag="v0.13.3", tag="v0.13.3",
@ -250,6 +268,13 @@ def initconfig_package_entries(self):
entries.append(cmake_cache_string("CMAKE_BUILD_TYPE", spec.variants["build_type"].value)) entries.append(cmake_cache_string("CMAKE_BUILD_TYPE", spec.variants["build_type"].value))
# C++14
if spec.satisfies("@:0.14.1"):
entries.append(cmake_cache_string("BLT_CXX_STD", "c++14"))
# C++17
else:
entries.append(cmake_cache_string("BLT_CXX_STD", "c++17"))
entries.append(cmake_cache_option("ENABLE_TESTS", spec.satisfies("+tests"))) entries.append(cmake_cache_option("ENABLE_TESTS", spec.satisfies("+tests")))
entries.append(cmake_cache_option("CARE_ENABLE_TESTS", spec.satisfies("+tests"))) entries.append(cmake_cache_option("CARE_ENABLE_TESTS", spec.satisfies("+tests")))
# For tests to work, we also need BLT_ENABLE_TESTS to be on. # For tests to work, we also need BLT_ENABLE_TESTS to be on.

View File

@ -18,11 +18,17 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/LLNL/CHAI.git" git = "https://github.com/LLNL/CHAI.git"
tags = ["ecp", "e4s", "radiuss"] tags = ["ecp", "e4s", "radiuss"]
maintainers("davidbeckingsale", "adayton1", "adrienbernede") maintainers("adayton1", "adrienbernede", "davidbeckingsale", "kab163")
license("BSD-3-Clause") license("BSD-3-Clause")
version("develop", branch="develop", submodules=False) version("develop", branch="develop", submodules=False)
version(
"2025.03.0",
tag="v2025.03.0",
commit="79f6414a00a89070054ac97baed47d21d10c83a4",
submodules=False,
)
version( version(
"2024.07.0", "2024.07.0",
tag="v2024.07.0", tag="v2024.07.0",
@ -104,7 +110,7 @@ class Chai(CachedCMakePackage, CudaPackage, ROCmPackage):
# We propagate the patch here. # We propagate the patch here.
patch("change_mpi_target_name_umpire_patch.patch", when="@2022.10.0:2023.06.0") patch("change_mpi_target_name_umpire_patch.patch", when="@2022.10.0:2023.06.0")
variant("enable_pick", default=False, description="Enable pick method") variant("enable_pick", default=False, when="@:2024", description="Enable pick method")
variant( variant(
"separable_compilation", "separable_compilation",
default=True, default=True,

View File

@ -99,6 +99,7 @@ class RajaPerf(CachedCMakePackage, CudaPackage, ROCmPackage):
description="Tests to run", description="Tests to run",
) )
variant("caliper", default=False, description="Build with support for Caliper based profiling") variant("caliper", default=False, description="Build with support for Caliper based profiling")
variant("lowopttest", default=False, description="Intended for developers to use low optimization level for tests to pass with some compilers.")
depends_on("blt") depends_on("blt")
depends_on("blt@0.6.2:", type="build", when="@2024.07.0:") depends_on("blt@0.6.2:", type="build", when="@2024.07.0:")
@ -176,6 +177,9 @@ def initconfig_compiler_entries(self):
# Default entries are already defined in CachedCMakePackage, inherit them: # Default entries are already defined in CachedCMakePackage, inherit them:
entries = super().initconfig_compiler_entries() entries = super().initconfig_compiler_entries()
if spec.satisfies("+lowopttest"):
entries.append(cmake_cache_string("CMAKE_CXX_FLAGS_RELEASE", "-O1"))
if spec.satisfies("+rocm ^blt@:0.6"): if spec.satisfies("+rocm ^blt@:0.6"):
entries.insert(0, cmake_cache_path("CMAKE_CXX_COMPILER", spec["hip"].hipcc)) entries.insert(0, cmake_cache_path("CMAKE_CXX_COMPILER", spec["hip"].hipcc))
@ -249,7 +253,7 @@ def initconfig_hardware_entries(self):
else: else:
entries.append(cmake_cache_option("ENABLE_HIP", False)) entries.append(cmake_cache_option("ENABLE_HIP", False))
entries.append(cmake_cache_option("ENABLE_OPENMP_TARGET", "+omptarget" in spec)) entries.append(cmake_cache_option("RAJA_ENABLE_TARGET_OPENMP", "+omptarget" in spec))
if "+omptarget" in spec: if "+omptarget" in spec:
if "%xl" in spec: if "%xl" in spec:
entries.append( entries.append(
@ -320,7 +324,7 @@ def initconfig_package_entries(self):
entries.append(cmake_cache_option("BUILD_SHARED_LIBS", "+shared" in spec)) entries.append(cmake_cache_option("BUILD_SHARED_LIBS", "+shared" in spec))
entries.append(cmake_cache_option("ENABLE_OPENMP", "+openmp" in spec)) entries.append(cmake_cache_option("ENABLE_OPENMP", "+openmp" in spec))
entries.append(cmake_cache_option("RAJA_ENABLE_OPENMP_TASK", "+omptask" in spec)) entries.append(cmake_cache_option("RAJA_ENABLE_OPENMP_TASK", "+omptask" in spec))
entries.append(cmake_cache_option("ENABLE_SYCL", spec.satisfies("+sycl"))) entries.append(cmake_cache_option("RAJA_ENABLE_SYCL", spec.satisfies("+sycl")))
# C++17 # C++17
if spec.satisfies("@2024.07.0:") and spec.satisfies("+sycl"): if spec.satisfies("@2024.07.0:") and spec.satisfies("+sycl"):

View File

@ -25,12 +25,18 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/LLNL/RAJA.git" git = "https://github.com/LLNL/RAJA.git"
tags = ["radiuss", "e4s"] tags = ["radiuss", "e4s"]
maintainers("davidbeckingsale", "adrienbernede") maintainers("adrienbernede", "davidbeckingsale", "kab163")
license("BSD-3-Clause") license("BSD-3-Clause")
version("develop", branch="develop", submodules=submodules) version("develop", branch="develop", submodules=submodules)
version("main", branch="main", submodules=submodules) version("main", branch="main", submodules=submodules)
version(
"2025.03.0",
tag="v2025.03.0",
commit="1d70abf171474d331f1409908bdf1b1c3fe19222",
submodules=submodules,
)
version( version(
"2024.07.0", "2024.07.0",
tag="v2024.07.0", tag="v2024.07.0",
@ -208,6 +214,8 @@ class Raja(CachedCMakePackage, CudaPackage, ROCmPackage):
description="Run all the tests, including those known to fail.", description="Run all the tests, including those known to fail.",
) )
variant("lowopttest", default=False, description="Intended for developers to use low optimization level for tests to pass with some compilers.")
depends_on("blt", type="build") depends_on("blt", type="build")
depends_on("blt@0.6.2:", type="build", when="@2024.02.1:") depends_on("blt@0.6.2:", type="build", when="@2024.02.1:")
depends_on("blt@0.6.1", type="build", when="@2024.02.0") depends_on("blt@0.6.1", type="build", when="@2024.02.0")
@ -365,6 +373,9 @@ def initconfig_package_entries(self):
entries.append(cmake_cache_option("RAJA_ENABLE_SYCL", spec.satisfies("+sycl"))) entries.append(cmake_cache_option("RAJA_ENABLE_SYCL", spec.satisfies("+sycl")))
if spec.satisfies("+lowopttest"):
entries.append(cmake_cache_string("CMAKE_CXX_FLAGS_RELEASE", "-O1"))
# C++17 # C++17
if spec.satisfies("@2024.07.0:") and spec.satisfies("+sycl"): if spec.satisfies("@2024.07.0:") and spec.satisfies("+sycl"):
entries.append(cmake_cache_string("BLT_CXX_STD", "c++17")) entries.append(cmake_cache_string("BLT_CXX_STD", "c++17"))

View File

@ -18,11 +18,17 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
git = "https://github.com/LLNL/Umpire.git" git = "https://github.com/LLNL/Umpire.git"
tags = ["radiuss", "e4s"] tags = ["radiuss", "e4s"]
maintainers("davidbeckingsale", "adrienbernede") maintainers("adrienbernede", "davidbeckingsale", "kab163")
license("MIT") license("MIT")
version("develop", branch="develop", submodules=False) version("develop", branch="develop", submodules=False)
version(
"2025.03.0",
tag="v2025.03.0",
commit="1ed0669c57f041baa1f1070693991c3a7a43e7ee",
submodules=False,
)
version( version(
"2024.07.0", "2024.07.0",
tag="v2024.07.0", tag="v2024.07.0",
@ -193,6 +199,7 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
variant("c", default=True, description="Build C API") variant("c", default=True, description="Build C API")
variant("mpi", default=False, description="Enable MPI support") variant("mpi", default=False, description="Enable MPI support")
variant("ipc_shmem", default=False, description="Enable POSIX shared memory") variant("ipc_shmem", default=False, description="Enable POSIX shared memory")
variant("mpi3_shmem", default=False, description="Enable MPI3 shared memory")
variant( variant(
"sqlite_experimental", "sqlite_experimental",
default=False, default=False,
@ -229,6 +236,7 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
depends_on("cmake@3.8:", type="build") depends_on("cmake@3.8:", type="build")
depends_on("blt", type="build") depends_on("blt", type="build")
depends_on("blt@0.7.0:", type="build", when="@2025.03.0:")
depends_on("blt@0.6.2:", type="build", when="@2024.02.1:") depends_on("blt@0.6.2:", type="build", when="@2024.02.1:")
depends_on("blt@0.6.1", type="build", when="@2024.02.0") depends_on("blt@0.6.1", type="build", when="@2024.02.0")
depends_on("blt@0.5.3", type="build", when="@2023.06.0") depends_on("blt@0.5.3", type="build", when="@2023.06.0")
@ -256,9 +264,9 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
depends_on("sqlite", when="+sqlite_experimental") depends_on("sqlite", when="+sqlite_experimental")
depends_on("mpi", when="+mpi") depends_on("mpi", when="+mpi")
depends_on("fmt@9.1:", when="@2024.02.0:") depends_on("fmt@9.1:11.0", when="@2024.02.0:")
# For some reason, we need c++ 17 explicitly only with intel # For some reason, we need c++ 17 explicitly only with intel
depends_on("fmt@9.1: cxxstd=17", when="@2024.02.0: %intel@19.1") depends_on("fmt@9.1:11.0 cxxstd=17", when="@2024.02.0: %intel@19.1")
with when("@5.0.0:"): with when("@5.0.0:"):
with when("+cuda"): with when("+cuda"):
@ -291,6 +299,9 @@ class Umpire(CachedCMakePackage, CudaPackage, ROCmPackage):
"+rocm", when="+omptarget", msg="Cant support both rocm and openmp device backends at once" "+rocm", when="+omptarget", msg="Cant support both rocm and openmp device backends at once"
) )
conflicts("+ipc_shmem", when="@:5.0.1") conflicts("+ipc_shmem", when="@:5.0.1")
conflicts("+mpi3_shmem", when="@:2024.07.0")
conflicts("+mpi3_shmem", when="~mpi")
conflicts("+ipc_shmem", when="+mpi3_shmem")
conflicts("+sqlite_experimental", when="@:6.0.0") conflicts("+sqlite_experimental", when="@:6.0.0")
conflicts("+sanitizer_tests", when="~asan") conflicts("+sanitizer_tests", when="~asan")
@ -386,6 +397,7 @@ def initconfig_mpi_entries(self):
entries = super().initconfig_mpi_entries() entries = super().initconfig_mpi_entries()
entries.append(cmake_cache_option("ENABLE_MPI", spec.satisfies("+mpi"))) entries.append(cmake_cache_option("ENABLE_MPI", spec.satisfies("+mpi")))
entries.append(cmake_cache_option("UMPIRE_ENABLE_MPI3_SHARED_MEMORY", spec.satisfies("+mpi3_shmem")))
return entries return entries