kokkos-kernels icon indicating copy to clipboard operation
kokkos-kernels copied to clipboard

Moving KokkosKernelsHandle, SpADD and SpGEMM out of experimental

Open lucbv opened this issue 5 years ago • 10 comments

See issue #741 for more background information

This does not change any kernel code but simply rearrange the namespaces so that SpADD and SpGEMM kernels are not implemented in experimental anymore. Added macro and pre-processor guards to allow down stream packages to turn on and off warnings/code.

lucbv avatar Aug 24 '20 18:08 lucbv

@brian-kelley @ndellingwood @srajama1 I have not tested this at the moment but will do shortly. Do we need to worry about the impact on Trilinos right-away even if this gets merged in develop only at the moment?

lucbv avatar Aug 24 '20 18:08 lucbv

@seheracer if you go to the issue linked you can add it to the list of kernels to move out of experimental. To me it was more clear that SpADD and SpGEMM needed to move at as they have been very important kernels for many years... but we can discuss that in the issue or tomorrow?

lucbv avatar Aug 24 '20 18:08 lucbv

@seheracer if you go to the issue linked you can add it to the list of kernels to move out of experimental. To me it was more clear that SpADD and SpGEMM needed to move at as they have been very important kernels for many years... but we can discuss that in the issue or tomorrow?

That's fine by me. I was just confused because your PR also touches the jacobi files.

seheracer avatar Aug 24 '20 18:08 seheracer

@lucbv Kokkos removed deprecated code and the CMake option to enable/disable deprecated code (always off, though the cmake definition still exists): https://github.com/kokkos/kokkos/pull/2969/files

I think before moving forward with your changes we need to clean out current dead code from kokkos-kernels (otherwise we lose track of newly deprecated stuff post-3.0 versus pre-3.0), and should add a kokkos-kernels macro and cmake option for deprecation. I'll open an issue to clean out deprecated code.

Edit: Opened #793 to clean up dead code

ndellingwood avatar Aug 24 '20 18:08 ndellingwood

@lucbv I wouldn't worry much about the impact on Trilinos, since this will be an easy change for the 3.2 integration. AFAIK spadd and spgemm are both only called in 1 or 2 files in Tpetra and nowhere else in Trilinos.

brian-kelley avatar Aug 24 '20 18:08 brian-kelley

I wouldn't worry much about the impact on Trilinos, since this will be an easy change for the 3.2 integration.

I have a frozen branch for the 3.2 integration used for the snapshot into the Trilinos PR, this change won't be included in 3.2

ndellingwood avatar Aug 24 '20 19:08 ndellingwood

@ndellingwood I figured we would definitely not include that in 3.2 as it is too late and I don't want to add to you plate : ) Also I do not think that there is any rush to get this deprecation done, it just makes a lot of sense to me to do it so at least at this point there is some momentum, it will get done. @brian-kelley OK, I am mainly worried about certain app that could be getting adventurous with the branch of kk they use in their Trilinos build. But agreed there are not so many places that uses these, I might have snuck a couple calls to SpGEMM in MueLu for Notay aggregation but it is easy to clean-up.

Overall I feel it might be good to make an announcement tomorrow as a topic of discussion for our stand-up especially if we also want to remove pre 3.0 deprecated things. Thanks for the feedback!

lucbv avatar Aug 24 '20 19:08 lucbv

Also removing the handle from experimental, this took more doing but that seems to work just fine.

lucbv avatar Aug 25 '20 16:08 lucbv

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

kokkos-devops-admin avatar May 17 '23 23:05 kokkos-devops-admin

Status Flag 'Pull Request AutoTester' - GitHub reports Mergeable status = False

kokkos-devops-admin avatar May 17 '23 23:05 kokkos-devops-admin