summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Berger <richard.berger@outlook.com>2024-02-19 05:52:48 -0700
committerGitHub <noreply@github.com>2024-02-19 13:52:48 +0100
commitc2b116175b1450fee5c557bd11a51f1904b3b13b (patch)
treed72869ecce64f976a2ce6f87caef36de289a490e
parenta1f90620c36deac633d9dd84a46b26e2ee60173a (diff)
downloadspack-c2b116175b1450fee5c557bd11a51f1904b3b13b.tar.gz
spack-c2b116175b1450fee5c557bd11a51f1904b3b13b.tar.bz2
spack-c2b116175b1450fee5c557bd11a51f1904b3b13b.tar.xz
spack-c2b116175b1450fee5c557bd11a51f1904b3b13b.zip
kokkos: disable CUDA_MALLOC_ASYNC on cray-mpich (#42661)
Co-authored-by: Daniel Arndt <arndtd@ornl.gov>
-rw-r--r--var/spack/repos/builtin/packages/kokkos/package.py11
1 files changed, 11 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py
index 7386a09044..0f994087d2 100644
--- a/var/spack/repos/builtin/packages/kokkos/package.py
+++ b/var/spack/repos/builtin/packages/kokkos/package.py
@@ -356,6 +356,17 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage):
if self.spec.satisfies("%oneapi") or self.spec.satisfies("%intel"):
options.append(self.define("CMAKE_CXX_FLAGS", "-fp-model=precise"))
+ # Kokkos 4.2.00+ changed the default to Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC=on
+ # which breaks GPU-aware with Cray-MPICH
+ # See https://github.com/kokkos/kokkos/pull/6402
+ # TODO: disable this once Cray-MPICH is fixed
+ if (
+ self.spec.satisfies("@4.2.00:")
+ and "mpi" in self.spec
+ and self.spec["mpi"].name == "cray-mpich"
+ ):
+ options.append(self.define("Kokkos_ENABLE_IMPL_CUDA_MALLOC_ASYNC", False))
+
# Remove duplicate options
return lang.dedupe(options)