CUDA主机代码的互斥?boost::互斥没有解决方案,因为使用nvcc重新定义了boost_COMPLER



有人看到在CUDA主机代码中同步操作的可能性吗?对于CUDA主机代码,我指的是包含在.cu文件中的主机代码,该代码由nvcc预处理,然后传递到windows上的cl.exe。

由于nvcc不可避免地对主机代码进行预处理,我无法使用我喜欢的实现boost::mutex:如果我包含boost内容,我会得到boost_COMPLER makro重新定义的错误。

只需将CUDA C代码与其他代码分开即可。让.cu文件包含内核、设备函数、内核调用等。为内核调用制作标头,并在cpp文件中使用这些标头。这也有助于减少编译时间,因为编译.cu文件很慢。

最新更新