有没有人看到在CUDA主机代码中同步操作的可能性?使用CUDA主机代码,我指的是.cu文件中包含的主机代码,由nvcc预处理,然后传递给Windows上的cl.exe。
由于nvcc不可避免地对主机代码进行预处理,我无法使用我首选的实现boost :: mutex:如果我包含boost内容,我会收到BOOST_COMPILER makro重新定义的错误。
答案 0 :(得分:1)
只需将您的CUDA C代码与其他代码分开。让.cu文件包含你的内核,设备函数,内核调用等。为内核调用创建头文件并使用cpp文件中的头文件。这也可以帮助减少编译时间,因为编译.cu文件很慢。