-
Notifications
You must be signed in to change notification settings - Fork 5
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
Upgrade to Kokkos v4.5.01 #692
Conversation
Reported in kokkos/mdspan#367 |
back to draft until Kokkos patch 4.5.01 |
6a56876
to
1d4931d
Compare
129f148
to
755d7f9
Compare
@yasahi-hpc What do you think of transferring the |
I think it is better. |
79e2d84
to
0769aea
Compare
8430c6b
to
72ab0d5
Compare
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.
Mostly looks good to me.
- It seems that you strictly need
Kokkos 4.5.01
or later. In CMake, should we require4.5.01
as minimum? - It may be done in another PR, but could you please describe the minimum requirement of DDC in the documentation? Like
CMake 3.22+
,Kokkos 4.5.01+
, etc. - Could you leave comments somewhere that kokkos-kernels-ext will be removed as soon as they are upstreamed to KK?
@@ -48,15 +48,15 @@ set(DDC_Kokkos_DEPENDENCY_POLICY | |||
set_property(CACHE DDC_Kokkos_DEPENDENCY_POLICY PROPERTY STRINGS "${DDC_DEPENDENCY_POLICIES}") | |||
if("${DDC_Kokkos_DEPENDENCY_POLICY}" STREQUAL "AUTO") | |||
if(NOT TARGET Kokkos::kokkos) | |||
find_package(Kokkos 4.4...4.5 QUIET) | |||
find_package(Kokkos 4.4...<5 QUIET) |
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.
find_package(Kokkos 4.4...<5 QUIET) | |
find_package(Kokkos 4.5...<5 QUIET) |
As found in the title of this PR, we need 4.5.01 or later right?
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 hesitating:
- 4.4.* should be working as we are not using any specific feature from 4.5.*
- 4.5.0 does not work due to the typo issue in mdspan
- 4.5.1 works again
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.
Sure
Then, relying on 4.5.1
?
I would like to disallow 4.5.0
since it does not work.
find_package(Kokkos 4.5.1...<5 QUIET)
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 find it a shame we cannot claim we support 4.4.
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.
OK. I am fine either one of these
- support 4.4 in
CMake
+ documentation of supported versions (4.5 is not available) - support 4.5.1 in
CMake
(do not allow 4.5)
Documentation may be updated in another PR
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 have added a "known issues" section in the README.md
Thanks,
Yes I will do that
I can open an issue ? As we are claiming a compatibility |
I think they will be placed under |
If I put the solvers in |
If you would like to support KK 4.5, I would prefer to switch the include file by macro like #if KOKKOSKERNELS_VERSION >= 40599
#include <KokkosBatched_Gbtrs.hpp>
#else
#include "kokkos-kernels-ext/KokkosBatched_Gbtrs.hpp"
#endif Anyway, this matters only after solvers are upstreamed to KK in 4.6. |
72ab0d5
to
13dec09
Compare
13dec09
to
037628d
Compare
@yasahi-hpc do you agree that the current version should still compile fine even if getrs and gbtrs get merged in 4.6 ? |
If you keep relying on the internal implementations, yes it should compile fine. If you would switch to the KK 4.6 implementations, it should still be fine, but I am not 100 % sure. |
find_package
range versionfind_package
range versionkernels/splines/kokkos-kernels-ext
Algo::G[be]trs::Unblocked
byAlgo::Level3::Unblocked