Falling back to a CPU implementation - because CUDA sucks at life