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):
|
def cmake_args(self):
|
||||||
args = [
|
args = [
|
||||||
self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
|
self.define("BUILD_CLIENTS_SAMPLES", "OFF"),
|
||||||
|
self.define("BUILD_FORTRAN_BINDINGS", "OFF"),
|
||||||
self.define("BUILD_CLIENTS_TESTS", self.run_tests),
|
self.define("BUILD_CLIENTS_TESTS", self.run_tests),
|
||||||
self.define("SUITE_SPARSE_PATH", self.spec["suite-sparse"].prefix),
|
self.define("SUITE_SPARSE_PATH", self.spec["suite-sparse"].prefix),
|
||||||
self.define("ROCBLAS_PATH", self.spec["rocblas"].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:
|
# hipSYCL 0.8.0 supported only LLVM 8-10:
|
||||||
# (https://github.com/AdaptiveCpp/AdaptiveCpp/blob/v0.8.0/CMakeLists.txt#L29-L37)
|
# (https://github.com/AdaptiveCpp/AdaptiveCpp/blob/v0.8.0/CMakeLists.txt#L29-L37)
|
||||||
depends_on("llvm@8:10", when="@0.8.0")
|
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
|
# 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)
|
# 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:10.1", when="@0.8.1: +cuda ^llvm@9")
|
||||||
depends_on("cuda@9:", when="@0.8.1: +cuda ^llvm@10:")
|
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
|
# the libc++.so and libc++abi.so dyn linked to the sycl
|
||||||
# ptx backend
|
# ptx backend
|
||||||
rpaths = set()
|
rpaths = set()
|
||||||
if spec.satisfies("~rocm"):
|
if self.spec.satisfies("~rocm"):
|
||||||
so_paths = filesystem.find_libraries(
|
so_paths = filesystem.find_libraries(
|
||||||
"libc++", self.spec["llvm"].prefix, shared=True, recursive=True
|
"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_from_variant("SHARED_LIB", "shared"))
|
||||||
args.append(self.define("TESTS", self.run_tests))
|
args.append(self.define("TESTS", self.run_tests))
|
||||||
|
|
||||||
if self.compiler != "intel":
|
if not self.spec.satisfies("%intel"):
|
||||||
args.append("-DINTEL_COMPILER=OFF")
|
args.append("-DINTEL_COMPILER=OFF")
|
||||||
|
|
||||||
return args
|
return args
|
||||||
|
@ -45,6 +45,7 @@ class Tandem(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
description="Minimum order of quadrature rule, 0 = automatic",
|
description="Minimum order of quadrature rule, 0 = automatic",
|
||||||
)
|
)
|
||||||
variant("libxsmm", default=False, description="Install libxsmm-generator")
|
variant("libxsmm", default=False, description="Install libxsmm-generator")
|
||||||
|
variant("python", default=False, description="installs python and numpy")
|
||||||
|
|
||||||
depends_on("mpi")
|
depends_on("mpi")
|
||||||
|
|
||||||
@ -61,14 +62,35 @@ class Tandem(CMakePackage, CudaPackage, ROCmPackage):
|
|||||||
depends_on("eigen@3.4.0")
|
depends_on("eigen@3.4.0")
|
||||||
|
|
||||||
depends_on("zlib-api")
|
depends_on("zlib-api")
|
||||||
depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack memalign=32")
|
depends_on("petsc@3.16: +int64 +mumps +scalapack memalign=32")
|
||||||
depends_on("petsc@3.14.6:3.18.5 +int64 +mumps +scalapack +knl", when="target=skylake:")
|
depends_on("petsc +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")
|
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
|
# see https://github.com/TEAR-ERC/tandem/issues/45
|
||||||
conflicts("%intel")
|
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):
|
def cmake_args(self):
|
||||||
args = [
|
args = [
|
||||||
self.define_from_variant("DOMAIN_DIMENSION", "domain_dimension"),
|
self.define_from_variant("DOMAIN_DIMENSION", "domain_dimension"),
|
||||||
|
Loading…
Reference in New Issue
Block a user