ArborX icon indicating copy to clipboard operation
ArborX copied to clipboard

Prefer `Kokkos::Experimental::sort_by_key()` and drop rocThrust/oneDPL dependencies

Open dalg24 opened this issue 2 months ago • 9 comments

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.

dalg24 avatar Oct 26 '25 19:10 dalg24

I am not sure how much we care about the ARBORX_ENABLE_{ONEDPL,ROCTHRUST} exported CMake variables and macros. I just dropped them. We could technically map them to their Kokkos counterparts but I don't think it is worth the trouble.

dalg24 avatar Oct 26 '25 19:10 dalg24

In file included from /opt/kokkos/include/Kokkos_Sort.hpp:25:
In file included from /opt/kokkos/include/sorting/Kokkos_SortPublicAPI.hpp:20:
/opt/kokkos/include/sorting/./impl/Kokkos_SortImpl.hpp:73:10: fatal error: 'oneapi/dpl/execution' file not found
#include <oneapi/dpl/execution>
         ^~~~~~~~~~~~~~~~~~~~~~

dalg24 avatar Oct 27 '25 02:10 dalg24

The CUDA-12.0.1-NVCC-CUDA-AWARE-MPI build failure is unrelated and denotes an issue with the testing machine (fetnat_06)

nvlink fatal   : Could not open input file '/usr/lib/x86_64-linux-gnu/libcuda.so'

dalg24 avatar Oct 27 '25 02:10 dalg24

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.

aprokop avatar Oct 27 '25 12:10 aprokop

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 https://github.com/kokkos/kokkos/pull/7304 ?

dalg24 avatar Oct 27 '25 12:10 dalg24

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.

aprokop avatar Oct 27 '25 13:10 aprokop

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.

dalg24 avatar Oct 27 '25 13:10 dalg24

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.

aprokop avatar Oct 27 '25 13:10 aprokop

Trilinos 16.2 was released with Kokkos 4.7.1.

aprokop avatar Dec 02 '25 15:12 aprokop