CUDA和STL矢量

时间:2010-08-16 13:37:42

标签: stl cuda

刚刚了解到许多cpp功能(包括stl矢量类)在cu文件中不起作用。即使在主机代码中使用它们。

由于我必须使用一个使用STL的C ++类,我无法编译调用内核的CU文件。 (我不在CU文件中使用任何STL功能,但我认为包含是问题。)

我尝试使用cmake和

来构建它
cuda_add_executable(
Blah
Blah.cu
BlahKernel.cu
HostCodeWithVector.cpp
)

这显然不起作用。现在出现的问题是,是否可以用gcc而不是nvcc构建HostCodeWithVector.cpp并以某种方式链接它??

1 个答案:

答案 0 :(得分:2)

因为__host__正是在你的CPU上运行的,你可以使用任何编译器(MSVC,gcc)编译这个部分,然后链接到nvcc结果。所以你应该只在GPU文件中留下GPU互操作,其他所有内容都放入CPP。