-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add option to use KokkosKernels:: as target namespace #2017
Conversation
ndellingwood
commented
Oct 25, 2023
- Add new cmake configuration option KokkosKernels_ENABLE_TARGET_NAMESPACE_CHANGE, added to use KokkosKernels:: as target namespace
- Deprecate the Kokkos:: target namespace in favor of KokkosKernels::
- Add KokkosKernels::all_libs target to the KokkosKerelesConfig.cmake file
- Intent of these changes is to allow for building Trilinos with KokkosKernels as an external TPL
* Add new cmake configuration option KokkosKernels_ENABLE_TARGET_NAMESPACE_CHANGE, added to use KokkosKernels:: as target namespace * Deprecate the Kokkos:: target namespace in favor of KokkosKernels:: * Add KokkosKernels::all_libs target to the KokkosKerelesConfig.cmake file * Intent of these changes is to allow for building Trilinos with KokkosKernels as an external TPL
Attempt to make progress on #1749 |
I tested a build of Trilinos with Kokkos and KokkosKernels develop branches as external TPLs with these changes, setting Note this required update to tpetra's version check: diff --git a/packages/tpetra/CMakeLists.txt b/packages/tpetra/CMakeLists.txt
index a7a7cba11ab..e35c6efc051 100644
--- a/packages/tpetra/CMakeLists.txt
+++ b/packages/tpetra/CMakeLists.txt
@@ -24,7 +24,7 @@ TRIBITS_ADD_OPTION_AND_DEFINE(
# Supported Kokkos version in Trilinos
# NOTE: When we snapshot Kokkos into Trilinos, we have to update these numbers to maintain
# compatibility with external Kokkos
-SET(Tpetra_SUPPORTED_KOKKOS_VERSION "4.1.00")
+SET(Tpetra_SUPPORTED_KOKKOS_VERSION "4.2.99")
# Option to allow developers to ignore incompatible Kokkos versions |
Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request. |
@lucbv @srajama1 This is pretty ugly to workaround for the namespace change issue blocking use of KokkosKernels as an external TPL with Trilinos. if this ends up a valid path forward we can work out how long the deprecation cycle should last for the change, configure option naming, etc. A better, more seamless backward-compatible option would be preferable |
Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects: Pull Request Auto Testing STARTING (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_CUDA11_CUDA11_LayoutRight
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC930_Light_Tpls_GCC930_Tpls_CLANG13CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GNU1021
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GNU1021_Light_LayoutRight
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GNU1021
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL19_solo
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_CLANG1001_solo
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_A64FX_Tpls_ARMPL2110
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_A64FX_GCC1020
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_VEGA90A_ROCM560
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_VEGA90A_Tpls_ROCM560
Jenkins Parameters
Using Repos:
Pull Request Author: ndellingwood |
Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED Pull Request Auto Testing has PASSED (click to expand)Build InformationTest Name: KokkosKernels_PullRequest_CUDA11_CUDA11_LayoutRight
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GCC930_Light_Tpls_GCC930_Tpls_CLANG13CUDA10
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GNU1021
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_GNU1021_Light_LayoutRight
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_GNU1021
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_Tpls_INTEL19_solo
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_CLANG1001_solo
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_A64FX_Tpls_ARMPL2110
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_A64FX_GCC1020
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_VEGA90A_ROCM560
Jenkins Parameters
Build InformationTest Name: KokkosKernels_PullRequest_VEGA90A_Tpls_ROCM560
Jenkins Parameters
|
Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging |
All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur... |