Комментировать

CPU у вас сильно проигрывает

CPU у вас сильно проигрывает потому что сгенерирован сильно неоптимальный код.

Вы обязаны упираться в скорость линейного чтения из памяти, если это не так, смотрите что вам за код компилятор нагенерировал. Ну или ручками unroll тоже полезно попробовать.

(нет, понятно что CUDA-устройство можно использовать для offload, освободив CPU для чего-то полезного, вроде показа прогресс-бара, но по скорости выигрыша обязано бы не быть)