-
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
Adopt Kokkos::StaticCrsGraph
from "Core" and move Static{Ccs,Crs}Graph
to namespace KokkosSparse::
#2419
Conversation
using Kokkos::create_staticcrsgraph; | ||
using Kokkos::GraphRowViewConst; | ||
using Kokkos::maximum_entry; | ||
using Kokkos::StaticCrsGraph; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure what to do about create_mirror[_view]
I certainly want to pull all overloads from Kokkos into KokkosSparse::
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think Kokkos provides create_mirror...
functions for any other non-view containers, right? Shall we just be consistent with that and move them into KokkosSparse
namespace? Kokkos can make the suggestion in the deprecation message.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Approving to get some CI going
kokkos-kernels nightly builds with deprecated code off are failing after merge of kokkos/kokkos#7516 , I'm assuming merge of this PR is needed to get develop branches back in sync? For reference, this is the error:
|
The issues with runners should be resolved (killed some of the previous runs) |
d0b822b
to
a98bf46
Compare
Failure from the osx-ci serial build, test fixure related:
|
bdw failure:
|
* Moved Static{Ccs,Crs}Graph to namespace KokkosSparse and into their own new header files * Deprecate symbols in Kokkos namespace * CRS counterpart used to come from the Containers subpackage in Kokkos "Core" but now is transitioned to Kokkos Kernels. Signed-off-by: Damien L-G <[email protected]> Fix a couple typos Signed-off-by: Damien L-G <[email protected]> Giving up on raising warnings Signed-off-by: Damien L-G <[email protected]> Avoid deprecation warnings when including deprecated header Kokkos_StaticCrsGraph.hpp Signed-off-by: Damien L-G <[email protected]> Adjust test category per review Signed-off-by: Damien L-G <[email protected]> Co-authored-by: Nathan Ellingwood <[email protected]> Fix copy/pasta error third -> fourth Signed-off-by: Damien L-G <[email protected]> Co-authored-by: Jonas Schulze <[email protected]> Update sparse/unit_test/Test_Sparse_StaticCrsGraph.hpp Fixup deprecate code off Signed-off-by: Damien L-G <[email protected]> Fix typo allocat[i]on Signed-off-by: Damien L-G <[email protected]> Rely on ADL for creat_mirror(GRAPH) Signed-off-by: Damien L-G <[email protected]> Update header and namespace triangle counting test Fixing a small issue with the triangle counting performance test for the upcoming move of StaticCrsGraph Sparse - StaticCrsGraph: fixing issues with perf tests and docs A few performance tests had not been updated to use the new namespace for the graph overload of create_mirror. Additionally some of the inline documentation for StaticCrsGraph is wrong... Signed-off-by: Luc Berger-Vergiat <[email protected]> Sparse - StaticCrsGraph: apply clang-format Signed-off-by: Luc Berger-Vergiat <[email protected]>
d9e7f47
to
5331843
Compare
#include <Kokkos_StaticCrsGraph.hpp> | ||
#undef KOKKOS_IMPL_DO_NOT_WARN_INCLUDE_STATIC_CRS_GRAPH | ||
|
||
namespace KokkosSparse { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to take out the
#ifdef KOKKOS_ENABLE_DEPRECATED_CODE_4
...
#else
block that uses Kokkos_StaticCrsGraph.hpp to provide the declarations. If the user is including this new header, we might as well use the new declarations in it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the idea of avoiding the deprecated branch, but could there be a case for example with packages Trilinos (and deprecated code enabled) that pull in Kokkos_StaticCrsGraph.hpp
indirectly through kokkos-kernels (including KokkosSparse_CrsMatrix.hpp prior to this PR) and use the deprecated functionality? Keeping the guarded deprecated region could prevent breakage in that case, though I'm unsure how likely an issue would be
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Have 1 comment but it's not a blocker
I am going to merge this then for the sake of getting the nightlies back. If we notice more deprecation warnings than reasonable in the Trilinos nightlies then we can go back and dial things appropriately in a subsequent PR. |
@lucbv Yes this is fine to merge. I originally thought this would create warnings but then I realized that with the KOKKOS_IMPL_DO_NOT_WARN_INCLUDE_STATIC_CRS_GRAPH defined it won't make any warnings so I edited my comment. |
This PR implements what we agreed on, that is Kokkos "Core" is deprecating
Kokkos::StaticCrsGraph
and we transition it to Kokkos Kernels intoKokkosSparse::
.On 2nd thought we decided to give up on raising deprecation warnings because it was too tricky to guarantee same symbols and not emit diagnostics when the KokkosSparse:: versions are used.