The code under src/cuda/on_device/primitives is a hot mess.
I mean, most of it is very useful, but not all of it; and there's almost no order to the different files except w.r.t. to the scope of collaboration (warp/block/grid).
At the very least we need to:
Remove code whose general usefulness is limited/questionable.
Extract related functionality into a separate file (or files for differnet scope):
The code under
src/cuda/on_device/primitives
is a hot mess.I mean, most of it is very useful, but not all of it; and there's almost no order to the different files except w.r.t. to the scope of collaboration (warp/block/grid).
At the very least we need to:
Extract related functionality into a separate file (or files for differnet scope):
at_warp_stride()
)... and do it while keeping the namespace scheme (e.g. separating block-scope from grid-scope functions).