我正在尝试将 CUDA 集成到使用 boost::spirit 的现有应用程序中。
隔离问题后,我发现以下代码无法与 nvcc 编译:
main.cu
:
#include <boost/spirit/include/qi.hpp>
int main(){
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
编译nvcc -o cudaTest main.cu
我得到了很多可以在这里看到的错误。
但是,如果我将文件名更改为main.cpp
,然后使用 再次编译nvcc
,则可以正常工作。这里发生了什么,我该如何解决?
可能重复:
使用成员函数作为比较器排序问题
是否可以在std :: sort中使用类方法作为比较器函数?
例如:
std::sort(list.begin(),list.end(),object->comparator) //Doesn't compile
Run Code Online (Sandbox Code Playgroud)
如果是的话,我是怎么做到的?
Throw::device_vector 的自动内存管理确实很有用,唯一的缺点是无法在内核代码中使用它。
我在互联网上查找,刚刚找到了矢量库,例如推力,它处理来自主机代码的设备内存。是否存在内核向量库?如果没有,拥有这样一个图书馆是不是一个坏主意?