CUDA中thrust库使用崩溃问题

按照教程使用thrust::reduce和thrust::inner_product等库函数时,编译正常但运行崩溃, 提示thrust::system::system_error ;
网上搜索说可能原因是:debug下编译器带了-G开关(加了以后可以支持device函数的断点)。可惜Thrust不能带这个开关。这在他们的google code的网站上提了一下。
但自测改为release仍报错崩溃,debug版本继续之后可以运行,而且计算结果正确。
还有的时候编译出错,LNK2019提示无法解析的外部符号,可以查看一下是否有默认库与第三方库冲突,如果有,忽略这些默认库即可(在”链接器-输入-忽略特定默认库“中添加),如我的是LIBCMTD.lib冲突;
另外,还要注意CUDA的运行库(CUDA C/C++ >> Host >> Runtime Library)和C++的运行库(C/C++ >> 代码生成 -- 运行库)设置是否一致,选项为:多线程调试、多线程DLL等,根据自己的项目设置。

你可能感兴趣的:(CUDA中thrust库使用崩溃问题)