Investigate single kernel last block reduce performance
Open
- Dominant language
- C++
- Stars
- 2.5k
- Forks
- 486
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 295
Description
After adding the nondeterministic reduce #4961, which uses a single kernel, we saw that the best performance improvements come from smaller input sizes due to using a single kernel instead of the two kernels used in the run to run determinism reduce.
There is another implementation of reduce that uses a single kernel we should look into, where a single block is designated to reduce the partial aggregates. It will be selected according to an atomic counter. Is this kernel run-to-run deterministic? If so, can it improve performance as well?
Contributor guide
Assessment
This issue has not been assessed yet.