_This is a sub-task of Thrust/CUB kernel consolidation https://github.com/NVIDIA/cccl/issues/26_ _Related: https://github.com/NVIDIA/cccl/issues/4475_ ### Prepare `cub::DeviceReduce` for feature parity needed by `thrust::reduce`: - [x] #6049 - [x] ~~Add tests to CUB that check that `cub::DeviceReduce` correctly uses the fallback policy (see https://github.com/NVIDIA/cccl/pull/1379/commits/fdf565e6cc063103643ea0e964b2437400721c5e)~~ - [x] ~~Add tests to CUB that check that `cub::DeviceReduce` correctly uses virtual shared memory (see https://github.com/NVIDIA/cccl/pull/1379/commits/fdf565e6cc063103643ea0e964b2437400721c5e)~~ - [x] #6123 - [ ] #6124 ### Refactor `thrust/extrema.h` to use `cub::DeviceReduce` - [x] Make `thrust/extrema.h` use `cub::DeviceReduce` (see https://github.com/NVIDIA/cccl/pull/1379/commits/948817ed034a1f704433e4c5e13444e0b9a75106) - [ ] Add dynamic 32/64-bit offset type-dispatch to `thrust/extrema.h` (see [948817e L210-216](https://github.com/NVIDIA/cccl/commit/948817ed034a1f704433e4c5e13444e0b9a75106#diff-ef30688a3e62f6e390cabdcf924317a83e49e0ed343dbd45d7d0a447f1eb337fR210-R216)) - [x] Add sanity tests for large number of items for `thrust/extrema.h` (see https://github.com/NVIDIA/cccl/pull/1379/commits/01f32ddb50c5175154b336af83446ab1dfe8b12a)
This is a sub-task of Thrust/CUB kernel consolidation #26
Related: #4475
Prepare
cub::DeviceReducefor feature parity needed bythrust::reduce:cub::DeviceReduce#6049Add tests to CUB that check thatcub::DeviceReducecorrectly uses the fallback policy (see fdf565e)Add tests to CUB that check thatcub::DeviceReducecorrectly uses virtual shared memory (see fdf565e)cub::DeviceReduce::ArgMin|Max. #6123cub::DeviceReduce::ArgMinMax#6124Refactor
thrust/extrema.hto usecub::DeviceReducethrust/extrema.husecub::DeviceReduce(see 948817e)thrust/extrema.h(see 948817e L210-216)thrust/extrema.h(see 01f32dd)