diff options
author | Thomas-Ulrich <ulrich@geophysik.uni-muenchen.de> | 2024-09-30 11:17:46 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-09-30 11:17:46 +0200 |
commit | 47591f73daa401c980f5152f84e5d1228522702d (patch) | |
tree | a243ed23a794cf72b24e1bcb81bc334f5e2eaea4 | |
parent | d3b4f0bebcb2cef0e7437ca0e96f0114fc871c01 (diff) | |
download | spack-47591f73daa401c980f5152f84e5d1228522702d.tar.gz spack-47591f73daa401c980f5152f84e5d1228522702d.tar.bz2 spack-47591f73daa401c980f5152f84e5d1228522702d.tar.xz spack-47591f73daa401c980f5152f84e5d1228522702d.zip |
impalajit, hipsycl, tandem: various updates (#45013)
4 files changed, 32 insertions, 8 deletions
diff --git a/var/spack/repos/builtin/packages/hipsolver/package.py b/var/spack/repos/builtin/packages/hipsolver/package.py index f79af0d736..82c35643e7 100644 --- a/var/spack/repos/builtin/packages/hipsolver/package.py +++ b/var/spack/repos/builtin/packages/hipsolver/package.py @@ -139,6 +139,7 @@ class Hipsolver(CMakePackage, CudaPackage, ROCmPackage): 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), diff --git a/var/spack/repos/builtin/packages/hipsycl/package.py b/var/spack/repos/builtin/packages/hipsycl/package.py index f21a96e805..c35070fb2f 100644 --- a/var/spack/repos/builtin/packages/hipsycl/package.py +++ b/var/spack/repos/builtin/packages/hipsycl/package.py @@ -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 @@ class Hipsycl(CMakePackage, ROCmPackage): # 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 ) diff --git a/var/spack/repos/builtin/packages/impalajit/package.py b/var/spack/repos/builtin/packages/impalajit/package.py index c61f3c301e..fb2bcf2852 100644 --- a/var/spack/repos/builtin/packages/impalajit/package.py +++ b/var/spack/repos/builtin/packages/impalajit/package.py @@ -46,7 +46,6 @@ class Impalajit(CMakePackage): 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 diff --git a/var/spack/repos/builtin/packages/tandem/package.py b/var/spack/repos/builtin/packages/tandem/package.py index 3211f5724f..04bb2b915b 100644 --- a/var/spack/repos/builtin/packages/tandem/package.py +++ b/var/spack/repos/builtin/packages/tandem/package.py @@ -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"), |