Вы не можете использовать тип C ++ string
в ядре, потому что CUDA не включает версию устройства библиотеки C ++ String, которая могла бы работать на GPU. Даже если бы можно было использовать string
в ядре, это не то, что вы хотели бы сделать, потому что string
обрабатывает память динамически, что, вероятно, будет медленным.
Вместо этого создайте массив строк фиксированной длины и скопируйте в него строки. Затем скопируйте массив в графический процессор. Передайте базовый адрес массива строк вашему ядру и попросите каждый поток вычислить адрес для данной строки, добавив смещение на основе его индекса к базовому адресу.