CMake:如何在Visual Studio环境中将依赖于模式的编译标志传递给nvcc
CMake: How to pass mode dependent compile flags to nvcc in visual studio environment
我最近使用 CMake 编译我的 CUDA 代码,但不知道如何在调试或发布模式下将不同的编译标志传递给 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 中指定调试或发布模式时,可以自动选择这些标志。谁能帮我一把?谢谢。
我在为 CUDA 程序编译链接 OpenMP 时遇到了同样的问题。
根据 FindCUDA 的最新 CMake 文档,您应该尝试以下三个变量:CUDA_NVCC_FLAGS
、CUDA_NVCC_FLAGS_DEBUG
和CUDA_NVCC_FLAGS_RELEASE
。
但它对我不起作用,然后我找到了另一个参考。
如果上述变量都不起作用,请尝试使用如下CMAKE_CUDA_FLAGS
作为解决方法:
set(CMAKE_CUDA_FLAGS ${YOUR_FLAGS})
相关文章:
- 为什么使用__LINE_的代码在发布模式下在MSVC下编译,而不是在调试模式下
- 在发布模式下启动使用库的静态链接编译的应用程序时出错
- 使用Qt Creator在调试模式下编译一段代码
- 在调试模式下编译时qrc_resource.cpp错误
- CMake:如何在Visual Studio环境中将依赖于模式的编译标志传递给nvcc
- 在Visual Studio 2017上无法使用调试模式x64进行OpenCV3.2编译
- 为什么这些 CRTP 模式中只有一个可以编译?
- Visual Studio 是否有具有多个下拉框的编译模式?
- C++文件可配置的编译时多态模式?
- X86系统的编译读取线(静态模式)
- 在 C++17 之前的模式下无法使用静态 constexpr 进行编译
- 痘痘设计模式会阻止您编译吗?
- lower_bound()函数不能在调试模式下编译
- 自定义分配器仅在VS 2015中的发布模式下编译
- 一般来说,使用Qt Creator,是什么导致程序在调试模式下编译时正确运行,但在发布模式下崩溃
- 为什么这个奇怪的重复出现的模板模式示例不编译?
- 无法在Win32发布模式下编译QT应用程序
- 生成文件中的多种编译模式
- 在Windows 10上使用wxWidgets(MinGW模式)编译源代码的问题
- 在VS2012的Release模式下编译时出现错误LNK2001