Prefer Kokkos::Experimental::sort_by_key() and drop rocThrust/oneDPL dependencies - #1302
Prefer Kokkos::Experimental::sort_by_key() and drop rocThrust/oneDPL dependencies#1302dalg24 wants to merge 8 commits into
Kokkos::Experimental::sort_by_key() and drop rocThrust/oneDPL dependencies#1302Conversation
|
I am not sure how much we care about the |
|
|
The |
|
I tried the same in #1191. I remember seeing some performance regression. You would need to run a lot of experiments to make sure there's none. |
Should I assume you tested with the performance fix on random access iterators kokkos/kokkos#7304 ? |
Don't know. Regardless, we depend on Kokkos 4.5, and that patch appeared only in 4.6.01. |
Kokkos 5.0 is a couple weeks out. Are we still committed to only supporting the last 2 Kokkos minor releases or is that something you were wanting to change. |
I had bad experience of keeping with the last two releases, as propagating the new features into the projects that depend on Trilinos is so problematic. |
|
Trilinos 16.2 was released with Kokkos 4.7.1. |
|
Is this PR still blocked by anything now that Trilinos has had a few releases (17+) that are based on Kokkos 5? |
iirc it had a performance regression due to Kokkos iterators, but it was flaky, and I don't have a solid consistent data |
Was that not resolved in Kokkos 4.6? |
From my recollection, no. I think the problem was passing iterators to thrust sort. Going back through my communication, I see But I also recall having inconsistent numbers on the machine I ran it on. |
|
Would you be willing to contribute a fix upstream in Kokkos Core? |
Yes. I will need to find some time for it, though. |
|
This PR is on hold until we require Kokkos 5.3. |
Defer to Kokkos and get rid of all the churn, both on the cmake-side to handle dependencies and the code path specializations.
I kept
Details::KokkosExt::sortByKey()because I don't think Kokkos pushes a profiling region.