Было бы удивительно, если бы библиотеки CUDA включали версию стандартной библиотеки C ++ на стороне ядра, которая понадобилась бы для того, чтобы это работало, поскольку (как отметил Пол R в комментарии) эта и многие другие стандартные функции не особенно подходят для ускорения GPU.
Согласно правилам языка CUDA, с устройства могут вызываться только функции __device__
. Такие функции, как strcmp
, не объявлены как __device__
в стандартной библиотеке C ++, поэтому, если язык CUDA не включает их в качестве расширений - и не делает этого, поскольку Руководство по программированию CUDA не включает в себя какую-либо документацию по ним - - тогда они не могут быть использованы в ядрах.
Что случилось, когда вы попробовали это?