ATNF/askap-benchmarks — pull request #1 by harrism (2014-08-07 07:18:07+00:00)
Title: Optimize CUDA implementation

I optimized the CUDA implementation to more or less match the performance of the tHogbomCleanHemi version, so that the main benchmark includes a decent CUDA implementation. CUB is included as a submodule, and used for fast CUDA parallel reduction.

tHogbomCleanCuda Before optimizations:
Time 4.12 (s)
Time per cycle 4.12 (ms)
Cleaning rate 242.718 (iterations per second)

tHogbomCleanCuda After optimizations:
Time 1.34 (s)
Time per cycle 1.34 (ms)
Cleaning rate 746.269 (iterations per second)

Speedup: 3.07x

This is on an NVIDIA K40 GPU.

See the commits for descriptions of the changes. Let me know if you have any questions!