Repository navigation
Add public operator<<(ostream, cub::KeyValuePair) - #8335
Conversation
And delete redundant operator==
operator<<(ostream, cub::KeyValuePair)operator<<(ostream, cub::KeyValuePair)
|
|
||
| template <typename Key, typename Value> | ||
| __host__ __device__ __forceinline__ bool | ||
| operator==(const KeyValuePair<Key, Value>& lhs, const KeyValuePair<Key, Value>& rhs) |
There was a problem hiding this comment.
my minimal-background-check understanding tells me that KeyValuePair should be history in the near future so I am not gonna be firm with my review but since we removed the operator== definition from here (good) why didn't we add it in cub/cub/util_type.cuh?
is it not needed even? why was it added in the first place?
i am no blocking the pr on this though, lgtm
There was a problem hiding this comment.
that
KeyValuePairshould be history in the near future
I made multiple attempts already, but the difficulty is that it can be used as the value type of output iterators by the users of arg extrema algorithms (DeviceReduce::ArgMin e.g.). It's also hard coded into ArgIndexInputIterator which is public and used throughput the extrema implementation.
I agree to should die in favor of cuda::std::pair.
This comment has been minimized.
This comment has been minimized.
🥳 CI Workflow Results🟩 Finished in 3h 38m: Pass: 100%/269 | Total: 9d 14h | Max: 2h 07m | Hits: 50%/176999See results here. |
Co-authored-by: gonidelis <ggonidelis@nvidia.com>
And delete the internal one and the redundant
operator==.