[Tracking Issue] Implementing (Segmented) Single-Pass Look-Back Scans
Jasonoro opened this issue · 0 comments
Jasonoro commented
As described in my thesis, single-pass look-back scans have some performance advantages when dealing with big datasets versus the current implementation in Accelerate. This issue is designed to track the various PRs that will be created, as the code will be split over various PRs across not only this repo but the AccelerateHS/accelerate-llvm repo as well.
The current plan for PRs is as follows:
- Create the
SegScan
primitive in this repo, and provide an interpreter implementation - Create the GPU implementation for LLVM in AccelerateHS/accelerate-llvm
- Create the CPU implementation for LLVM in AccelerateHS/accelerate-llvm
- Change the
Prelude
to use the new primitive - Change the GPU implementation for non-segmented scans in AccelerateHS/accelerate-llvm
This should allow for the PRs to still be manageable, instead of dumping a 1000 lines of changed code into a single PR. I hope to submit the first PR soon™