summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/repos/builtin/packages/trilinos/package.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py
index 1bc41e0d9f..2c7acc1d10 100644
--- a/var/spack/repos/builtin/packages/trilinos/package.py
+++ b/var/spack/repos/builtin/packages/trilinos/package.py
@@ -368,6 +368,21 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
# ###################### Dependencies ##########################
+ # External Kokkos
+ depends_on("kokkos@4.1.00", when="@14.4.0: +kokkos")
+ depends_on("kokkos +wrapper", when="trilinos@14.4.0: +kokkos +wrapper")
+ depends_on("kokkos ~wrapper", when="trilinos@14.4.0: +kokkos ~wrapper")
+
+ for a in CudaPackage.cuda_arch_values:
+ arch_str = "+cuda cuda_arch=" + a
+ kokkos_spec = "kokkos@4.1.00 " + arch_str
+ depends_on(kokkos_spec, when="@14.4.0 +kokkos " + arch_str)
+
+ for a in ROCmPackage.amdgpu_targets:
+ arch_str = "+rocm amdgpu_target={0}".format(a)
+ kokkos_spec = "kokkos@4.1.00 {0}".format(arch_str)
+ depends_on(kokkos_spec, when="@14.4.0 +kokkos {0}".format(arch_str))
+
depends_on("adios2", when="+adios2")
depends_on("blas")
depends_on("boost+graph+math+exception+stacktrace", when="+boost")
@@ -778,6 +793,10 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage):
for tpl_name, dep_name in tpl_dep_map:
define_tpl(tpl_name, dep_name, dep_name in spec)
+ # External Kokkos
+ if spec.satisfies("@14.4.0 +kokkos"):
+ options.append(define_tpl_enable("Kokkos"))
+
# MPI settings
options.append(define_tpl_enable("MPI"))
if "+mpi" in spec: