我的项目使用CMake-GUI和visual studio . 我的系统上没有安装gpu卡 . 生成的visual studio解决方案将nvcc标志设置为compute_30和sm_30,但我需要将其设置为compute_50和sm_50 .
我使用CMake 3.10.1和Visual Studio 14 2015进行64位编译 .
我希望取代CMake的默认设置 . 我没有使用Find CUDA方法来搜索和添加CUDA . 我在CMAKE中添加CUDA作为语言支持,并且VS支持基于此的CUDA Build定制 .
3 回答
所以我能够自己解决这个问题 . 我们可以通过以下方式设置它 -
string(APPEND CMAKE_CUDA_FLAGS“-gencode arch = compute_50,code = sm_50”)
正确的方法是:
根据需要选择PRIVATE / PUBLIC . 这是设置每个目标标志的正确方法 .
我written a module默认获取(和使用)第一个已安装的物理设备的计算机功能设置,但可以通过设置CUDA_SM环境变量来覆盖它 . 这是模块(将内容放在
.cmake
文件中并将其放在包含的文件夹中):