Benchmark implementation, simple parallel and simple CUDA parallel implementation complete. CUDA implementation that works on arbitrary length inputs not complete yet.
Merge, kept serial implemenation in cpp.