From a3bed44bf56956fed402734329dcfbd6d7145cc1 Mon Sep 17 00:00:00 2001 From: Jon Rood Date: Tue, 17 Dec 2024 19:48:35 -0700 Subject: [PATCH] kokkos: add hip_relocatable_device_code variant. trilinos: kokkos should enable relocatable device code if requested for trilinos and it also requires the kokkos libraries be static. (#48143) --- var/spack/repos/builtin/packages/kokkos/package.py | 1 + var/spack/repos/builtin/packages/trilinos/package.py | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/var/spack/repos/builtin/packages/kokkos/package.py b/var/spack/repos/builtin/packages/kokkos/package.py index 6b58c7298a5..123058a7707 100644 --- a/var/spack/repos/builtin/packages/kokkos/package.py +++ b/var/spack/repos/builtin/packages/kokkos/package.py @@ -185,6 +185,7 @@ class Kokkos(CMakePackage, CudaPackage, ROCmPackage): "cuda_lambda": [False, "Activate experimental lambda features"], "cuda_ldg_intrinsic": [False, "Use CUDA LDG intrinsics"], "cuda_relocatable_device_code": [False, "Enable RDC for CUDA"], + "hip_relocatable_device_code": [False, "Enable RDC for HIP"], "cuda_uvm": [False, "Enable unified virtual memory (UVM) for CUDA"], "debug": [False, "Activate extra debug features - may increase compiletimes"], "debug_bounds_check": [False, "Use bounds checking - will increase runtime"], diff --git a/var/spack/repos/builtin/packages/trilinos/package.py b/var/spack/repos/builtin/packages/trilinos/package.py index aa323630623..0cd61ce601c 100644 --- a/var/spack/repos/builtin/packages/trilinos/package.py +++ b/var/spack/repos/builtin/packages/trilinos/package.py @@ -410,6 +410,10 @@ class Trilinos(CMakePackage, CudaPackage, ROCmPackage): with when("@14.4: +kokkos"): depends_on("kokkos+wrapper", when="+wrapper") depends_on("kokkos~wrapper", when="~wrapper") + depends_on("kokkos+cuda_relocatable_device_code~shared", when="+cuda_rdc") + depends_on("kokkos+hip_relocatable_device_code~shared", when="+rocm_rdc") + depends_on("kokkos-kernels~shared", when="+cuda_rdc") + depends_on("kokkos-kernels~shared", when="+rocm_rdc") depends_on("kokkos~complex_align") depends_on("kokkos@4.5.00", when="@master:") depends_on("kokkos@4.3.01", when="@16")