The CUDA kernels