Skip to content
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

Closed

Conversation

ndellingwood
Copy link
Contributor

  • 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
@ndellingwood ndellingwood requested a review from lucbv October 25, 2023 04:23
@ndellingwood
Copy link
Contributor Author

Attempt to make progress on #1749

@ndellingwood
Copy link
Contributor Author

I tested a build of Trilinos with Kokkos and KokkosKernels develop branches as external TPLs with these changes, setting KokkosKernels_ENABLE_TARGET_NAMESPACE_CHANGE=ON for the proper namespace, and was able to configure and build Tpetra with passing tests in a Serial build (simple test)

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

@kokkos-devops-admin
Copy link

Status Flag 'Pre-Test Inspection' - Auto Inspected - Inspection is Not Necessary for this Pull Request.

@ndellingwood
Copy link
Contributor Author

@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

@kokkos-devops-admin
Copy link

Status Flag 'Pull Request AutoTester' - Testing Jenkins Projects:

Pull Request Auto Testing STARTING (click to expand)

Build Information

Test Name: KokkosKernels_PullRequest_CUDA11_CUDA11_LayoutRight

  • Build Num: 1007
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC930_Light_Tpls_GCC930_Tpls_CLANG13CUDA10

  • Build Num: 594
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GNU1021

  • Build Num: 275
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GNU1021_Light_LayoutRight

  • Build Num: 262
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_GNU1021

  • Build Num: 263
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_INTEL19_solo

  • Build Num: 267
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_CLANG1001_solo

  • Build Num: 239
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_A64FX_Tpls_ARMPL2110

  • Build Num: 749
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_A64FX_GCC1020

  • Build Num: 744
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_VEGA90A_ROCM560

  • Build Num: 743
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_VEGA90A_Tpls_ROCM560

  • Build Num: 265
  • Status: STARTED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Using Repos:

Repo: KOKKOSKERNELS (ndellingwood/kokkos-kernels)
  • Branch: kernels-as-tpl-option
  • SHA: a65d960
  • Mode: TEST_REPO

Pull Request Author: ndellingwood

@kokkos-devops-admin
Copy link

Status Flag 'Pull Request AutoTester' - Jenkins Testing: all Jobs PASSED

Pull Request Auto Testing has PASSED (click to expand)

Build Information

Test Name: KokkosKernels_PullRequest_CUDA11_CUDA11_LayoutRight

  • Build Num: 1007
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GCC930_Light_Tpls_GCC930_Tpls_CLANG13CUDA10

  • Build Num: 594
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GNU1021

  • Build Num: 275
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_GNU1021_Light_LayoutRight

  • Build Num: 262
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_GNU1021

  • Build Num: 263
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_Tpls_INTEL19_solo

  • Build Num: 267
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_CLANG1001_solo

  • Build Num: 239
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_A64FX_Tpls_ARMPL2110

  • Build Num: 749
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_A64FX_GCC1020

  • Build Num: 744
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_VEGA90A_ROCM560

  • Build Num: 743
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

Build Information

Test Name: KokkosKernels_PullRequest_VEGA90A_Tpls_ROCM560

  • Build Num: 265
  • Status: PASSED

Jenkins Parameters

Parameter Name Value
KOKKOSKERNELS_SOURCE_REPO https://github.com/ndellingwood/kokkos-kernels
KOKKOSKERNELS_SOURCE_SHA a65d960
KOKKOSKERNELS_TARGET_BRANCH develop
KOKKOSKERNELS_TARGET_REPO https://github.com/kokkos/kokkos-kernels
KOKKOSKERNELS_TARGET_SHA 69379cb
PR_LABELS
PULLREQUESTNUM 2017
TEST_REPO_ALIAS KOKKOSKERNELS

@kokkos-devops-admin
Copy link

Status Flag 'Pre-Merge Inspection' - - This Pull Request Requires Inspection... The code must be inspected by a member of the Team before Testing/Merging
NO REVIEWS HAVE BEEN PERFORMED ON THIS PULL REQUEST!

@kokkos-devops-admin
Copy link

All Jobs Finished; status = PASSED, However Inspection must be performed before merge can occur...

@ndellingwood
Copy link
Contributor Author

Closing PR, better solution worked out with @lucbv @dalg24 - thanks!

@ndellingwood ndellingwood deleted the kernels-as-tpl-option branch October 25, 2023 20:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants