impalajit, hipsycl, tandem: various updates (#45013)

This commit is contained in:
Thomas-Ulrich 2024-09-30 11:17:46 +02:00 committed by GitHub
parent d3b4f0bebc
commit 47591f73da
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 32 additions and 8 deletions

View File

@ -139,6 +139,7 @@ def setup_build_environment(self, env):
def cmake_args(self):
args = [
self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
self.define("BUILD_FORTRAN_BINDINGS", "OFF"),
self.define("BUILD_CLIENTS_TESTS", self.run_tests),
self.define("SUITE_SPARSE_PATH", self.spec["suite-sparse"].prefix),
self.define("ROCBLAS_PATH", self.spec["rocblas"].prefix),

View File

@ -47,8 +47,10 @@ class Hipsycl(CMakePackage, ROCmPackage):
# hipSYCL 0.8.0 supported only LLVM 8-10:
# (https://github.com/AdaptiveCpp/AdaptiveCpp/blob/v0.8.0/CMakeLists.txt#L29-L37)
depends_on("llvm@8:10", when="@0.8.0")
# https://github.com/spack/spack/issues/45029 and https://github.com/spack/spack/issues/43142
conflicts("^gcc@12", when="@23.10.0")
# https://github.com/OpenSYCL/OpenSYCL/pull/918 was introduced after 0.9.4
conflicts("^llvm@16:", when="@:0.9.4")
conflicts("^gcc@12.2.0", when="@:0.9.4")
# LLVM PTX backend requires cuda7:10.1 (https://tinyurl.com/v82k5qq)
depends_on("cuda@9:10.1", when="@0.8.1: +cuda ^llvm@9")
depends_on("cuda@9:", when="@0.8.1: +cuda ^llvm@10:")
@ -161,7 +163,7 @@ def adjust_core_config(config):
# the libc++.so and libc++abi.so dyn linked to the sycl
# ptx backend
rpaths = set()
if spec.satisfies("~rocm"):
if self.spec.satisfies("~rocm"):
so_paths = filesystem.find_libraries(
"libc++", self.spec["llvm"].prefix, shared=True, recursive=True
)

View File

@ -46,7 +46,6 @@ def cmake_args(self):
args.append(self.define_from_variant("SHARED_LIB", "shared"))
args.append(self.define("TESTS", self.run_tests))
if self.compiler != "intel":
if not self.spec.satisfies("%intel"):
args.append("-DINTEL_COMPILER=OFF")
return args

View File

@ -45,6 +45,7 @@ class Tandem(CMakePackage, CudaPackage, ROCmPackage):
description="Minimum order of quadrature rule, 0 = automatic",
)
variant("libxsmm", default=False, description="Install libxsmm-generator")
variant("python", default=False, description="installs python and numpy")
depends_on("mpi")
@ -61,14 +62,35 @@ class Tandem(CMakePackage, CudaPackage, ROCmPackage):
depends_on("eigen@3.4.0")
depends_on("zlib-api")
depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack memalign=32")
depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack +knl", when="target=skylake:")
depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack memalign=32 +cuda", when="+cuda")
depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack memalign=32 +rocm", when="+rocm")
depends_on("petsc@3.16: +int64 +mumps +scalapack memalign=32")
depends_on("petsc +knl", when="target=skylake:")
with when("+cuda"):
for tgt in CudaPackage.cuda_arch_values:
depends_on(f"petsc +cuda cuda_arch={tgt}", when=f"+cuda cuda_arch={tgt}")
with when("+rocm"):
for tgt in ROCmPackage.amdgpu_targets:
depends_on(f"petsc +rocm amdgpu_target={tgt}", when=f"+rocm amdgpu_target={tgt}")
depends_on("python@3", type="build", when="+python")
depends_on("py-numpy", type="build", when="+python")
# see https://github.com/TEAR-ERC/tandem/issues/45
conflicts("%intel")
# GPU architecture requirements
conflicts(
"cuda_arch=none",
when="+cuda",
msg="A value for cuda_arch must be specified. Add cuda_arch=XX",
)
conflicts(
"amdgpu_target=none",
when="+rocm",
msg="A value for amdgpu_arch must be specified. Add amdgpu_arch=XX",
)
def cmake_args(self):
args = [
self.define_from_variant("DOMAIN_DIMENSION", "domain_dimension"),