-
Notifications
You must be signed in to change notification settings - Fork 4
Description
It looks like the straight line line of sight breaks down at larger worst-case lines of sight. I've noticed this most heavily on Pik Dankova. Running with Seattle's dataset we can easily run at 33 seconds an angle, but Dankova sits at 150s an angle.
I am pretty sure this has to do with the amount of points we are able to fit in cache. With the partial unroll we assume that most of the angles will fit in L1 by the time we come back around to calculate the prefix max, but for large lines of sight this is clearly not the case.
I think that a heuristic based on the number of points in the line of sight should be used to either call a kernel_unrolled or a kernel function.
All we need to do is partially revert #33 to do some testing and determine the heuristics. Maybe an unroll-split command line option that determines at what point we start using a fully unrolled version?