impalajit, hipsycl, tandem: various updates (#45013)
This commit is contained in:
parent
d3b4f0bebc
commit
47591f73da
@ -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),
|
||||
|
@ -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
|
||||
)
|
||||
|
@ -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
|
||||
|
@ -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"),
|
||||
|
Loading…
Reference in New Issue
Block a user