Repository navigation
Add env overloads for DeviceSelect::FlaggedIf/Unique/UniqueByKey - #7794
Conversation
f5415f6 to
d0c046c
Compare
d0c046c to
cff7edf
Compare
| typename EnvT = ::cuda::std::execution::env<>, | ||
| typename ::cuda::std::enable_if_t< | ||
| ::cuda::std::is_integral_v<NumItemsT> && !::cuda::std::is_same_v<KeyInputIteratorT, void*> | ||
| && !::cuda::std::is_convertible_v<EqualityOpT, cudaStream_t> |
There was a problem hiding this comment.
Q: Is this check necessary?
| && !::cuda::std::is_convertible_v<EqualityOpT, cudaStream_t> |
What clash are we trying to prevent here? It should suffice in my understanding to just check that KeyInputIteratorT is not void* to distinguish the old overloads.
Edit: it made sense for the old overload set but not for the environment overloads. Please remove this check.
There was a problem hiding this comment.
no clash prevention. mere error check clarity. sfinae will give off a better error diagnostic here
cudaStream_t stream = ...;
cub::DeviceSelect::UniqueByKey(keys, vals, x, y, z, n, stream); compared to stream being wrongly deduced as EqualityOpT. I get that, it's on their user that just passed an argument in a completely wrong position but I don't see how it could hurt.
I removed it but let me know if you changed your mind and want to add it back @bernhardmgruber
This comment has been minimized.
This comment has been minimized.
1009e0d to
933f285
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
bernhardmgruber
left a comment
There was a problem hiding this comment.
We are still lacking an env-overload for DeviceSelect::FlaggedIf with IteratorT d_data, (the in-place version). Please add it.
933f285 to
983f57f
Compare
This comment has been minimized.
This comment has been minimized.
| //! The total number of items selected is written to ``d_num_selected_out``. | ||
| //! | ||
| //! .. versionadded:: 3.4.0 | ||
| //! First appears in CUDA Toolkit 12.4. |
There was a problem hiding this comment.
Important:
| //! First appears in CUDA Toolkit 12.4. | |
| //! .. versionadded:: 3.4.0 | |
| //! First appears in CUDA Toolkit 13.4. |
| //! The total number of items selected is written to ``d_num_selected_out``. | ||
| //! | ||
| //! .. versionadded:: 3.4.0 | ||
| //! First appears in CUDA Toolkit 12.4. |
| //! The total number of items selected is written to ``d_num_selected_out``. | ||
| //! | ||
| //! .. versionadded:: 3.4.0 | ||
| //! First appears in CUDA Toolkit 12.4. |
983f57f to
24d1f89
Compare
🥳 CI Workflow Results🟩 Finished in 2h 16m: Pass: 100%/249 | Total: 8d 13h | Max: 2h 15m | Hits: 73%/155761See results here. |
Adds env based overloads for
DeviceSelect::FlaggedIfDeviceSelect::UniqueDeviceSelect::UniqueByKey(with customequality_opand without)Terminally closes #7552