CUDA: llamando a la función de biblioteca en el kernel

Sé que existe la restricción de llamar solo__device__ funciones en el kernel. Esto me impide llamar a funciones estándar comostrcmp() y así sucesivamente en el núcleo.
En este momento no puedo entender / encontrar las razones para esto. El compilador no pudo simplemente seguir cada una de las cadenas incluidas en str.h y así sucesivamente mientras alineaba las llamadas astrcmp() en el kernel? Supongo que la razón que estoy buscando es fácil y me falta algo aquí.
¿Es la única forma de reimplementar todas las funciones y tipos de datos que necesito en la computación del kernel? ¿Existe una base de código con tales reimplementaciones?

Respuestas a la pregunta(2)

Su respuesta a la pregunta