Revert "Revert "Initial CUDA""

This reverts commit b9af65b0969aff761aafa8f2cbf12c20b7d0f94b.