cub icon indicating copy to clipboard operation
cub copied to clipboard

Fix or hide `BlockRadixRank` and friends

Open gevtushenko opened this issue 3 years ago • 0 comments

Currently, we have a set of block radix rank facilities:

  • BlockRadixRank
  • BlockRadixRankMatch
  • BlockRadixRankMatchEarlyCounts

There's also a enum BlockScanAlgorithm that describes the differences between these algorithms. Unlike the rest of CUB facilities, BlockRadixRank* don't follow the common pattern of accepting BlockScanAlgorithm as a template parameter. Ideally, there'll be only BlockRadixRank which would take BlockScanAlgorithm as a template parameter to specialize for a particular case. Unfortunately, the implementations have different set of template parameters and some work has to be done before this is possible. We have to options:

  1. Break API and make BlockRadixRank a high-level entry point that accepts BlockScanAlgorithm.
  2. Hide all BlockRadixRank* algorithms as implementation details for BlockRadixSort.

Since there are people using BlockRadixRank separately, the former is preferable.

gevtushenko avatar Sep 01 '22 13:09 gevtushenko