Added CUDA Reduction code

- Tree-style sum reduction (O(log n))
- Linear reduction (O(n) + cache thrashing)