CUDA is not C++. CUDA for GPU kernels is its own language. That's the actual problem requiring new languages or abstractions.