CMake:如何在Visual Studio环境下将模式相关的编译标志传递给nvcc?

4

我最近在使用CMake编译我的CUDA代码,但不知道如何在Debug或Release模式下向nvcc传递不同的编译标志。我希望能够指定以下内容:

set(CUDA_GENE_FLAGS_DEBUG "-gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37")
set(CUDA_GENE_FLAGS_RELEASE "-Xptxas -O3 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37")

所以当我在Visual Studio中指定Debug或Release模式时,这些标志可以自动选择。有人能帮我吗?谢谢。
1个回答

6

在编译链接CUDA程序时,我遇到了与OpenMP相关的问题。

根据最新的CMake文档,你应该尝试这三个变量:CUDA_NVCC_FLAGSCUDA_NVCC_FLAGS_DEBUGCUDA_NVCC_FLAGS_RELEASE

但对我来说并没有用,然后我找到了另一个参考资料

如果上述变量都不起作用,可以尝试使用CMAKE_CUDA_FLAGS进行解决:

set(CMAKE_CUDA_FLAGS ${YOUR_FLAGS})

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接