我可以在CUDA代码的内核部分使用C ++头文件吗?

时间:2010-03-26 20:30:39

标签: c++ c cuda

我想在内核函数中比较两个字符串。我可以在文件中使用strcomp吗? 通常,我可以在CUDA代码中使用C ++库吗?

1 个答案:

答案 0 :(得分:1)

如果CUDA库包含C ++标准库的内核版本,这将是令人惊讶的,因为(正如Paul R在评论中指出的那样),这和许多其他标准函数一样,你需要它才能工作。不太适合GPU加速。

根据CUDA语言规则,只有__device__个函数可以从设备调用。诸如strcmp之类的函数在C ++标准库中未被声明为__device__,因此如果CUDA语言不将它们作为扩展包含 - 而且它不包含它们,因为CUDA编程指南不包含任何它们的文档 - 然后它们不能在内核中使用。

尝试时发生了什么?