深度学习常碰到问题集锦

一、CMake相关

1.1 Policy CMP0146 is not set: The FindCUDA module is removed

CMake Warning (dev) at CMakeLists.txt:8 (find_package):
  Policy CMP0146 is not set: The FindCUDA module is removed.  Run "cmake
  --help-policy CMP0146" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.
 
This warning is for project developers.  Use -Wno-dev to suppress it.

如上CMakeLists.txt的警告,不影响正常编译结束,但是可以让这个警告去掉,让编译输出更干净。主要是因为cmake政策的更新导致的,可以仍使用旧版本的政策。

解决方案:

在CMakeLists.txt的 find_package(CUDA) 前面加上如下内容:

if(POLICY CMP0146)
  cmake_policy(SET CMP0146 OLD) 
endif()

1.2 Windows CMake编译错误:No CUDA toolset found解决方法 

出现这个问题一般是因为安装CUDA时没有安装对应的Visual Studio Integration缺失,如下图所示,对应的选项没有勾选。

那重新安装CUDA,记得在“自定义”中勾选上面选项就可以了。

但也有的机器,一旦在安装CUDA时勾选了这个选项便无法安装。
那么如何解决这个问题呢?
首先将CUDA的安装包当作一个压缩包,用winRAR之类的工具打开:

然后找到上图红框中对应文件夹:CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions,

在这个路径下共有4个文件,把它们拷到你Windows机器上安装Visual Studio的对应路径下,例如:C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VC\v160\BuildCustomizations。
注意这个路径要根据你Windows机器的实际情况确定。
最后再重新用CMake进行编译就可以了。

二、visual studio相关

2.1 visual studio版本选择

CUDA与Visual Studio(VS)是两个不同的软件,前者是一种并行计算平台和编程技术,后者是一个集成开发环境,两者在编程语言和应用场景上有所不同。但在使用CUDA进行GPU编程时,通常需要在VS中进行开发和调试。以下是对CUDA版本与Visual Studio对应关系的详细分析:

一、兼容性概述

对于不同版本的CUDA和VS,存在一些兼容性问题,因此需要注意它们之间的对应关系。在VS中安装CUDA工具包后,需要确保在项目属性中正确配置CUDA的路径和版本号,以确保开发项目能够正确地链接和编译。此外,操作系统版本、GPU驱动程序等其他因素也可能会影响CUDA与VS的兼容性。

二、具体版本对应关系

  1. CUDA 12.x系列:虽然CUDA 12.x与Visual Studio 2019和2022兼容,但建议尽量使用最新版本的Visual Studio和CUDA Toolkit,以获得最佳的开发体验和性能支持。同时,也需要注意操作系统版本的要求,确保您的操作系统能够支持所安装的CUDA和Visual Studio版本。
  2. CUDA 11.x系列:最好与Visual Studio 2019较新版本配合使用,包括VS 2019 version 16.4、16.5、16.7和16.8等。
  3. CUDA 11.0:与VS 2017 Update 5兼容。
  4. CUDA 10.2:与VS 2017 Update 3兼容。
  5. CUDA 10.1:可以与Visual Studio 2019集成,但需要注意安装过程中勾选与VS相关的组件,如CUDA Visual Studio Integration,并确保安装的是VS 2019的支持CUDA的版本,如Enterprise、Professional或Community版。

三、查看CUDA版本的方法

可以通过命令行或者图形界面来查看系统中安装的CUDA版本。在命令行中,使用“nvcc --version”命令可以显示系统中安装的CUDA版本号以及NVIDIA的编译器版本信息。此外,也可以通过查看CUDA安装目录下的版本号文件来确认CUDA版本。

四、注意事项

  1. 在选择CUDA版本时,需要考虑与其他软件和硬件的兼容性,确保所选择的CUDA版本能够与其他组件良好地配合。
  2. CUDA版本和GPU驱动版本之间有一定的关联性,不同的CUDA版本对应着不同的GPU驱动版本要求。因此,在安装CUDA时需要注意CUDA版本与GPU驱动版本的兼容性,建议安装与CUDA版本对应的GPU驱动版本以确保系统的稳定性和性能表现。
  3. 升级CUDA版本可能带来更好的性能和功能支持,但也可能导致不兼容性或稳定性问题;降级CUDA版本则可能解决某些bug或兼容性问题,但也会失去新版本带来的优势。因此,在升级或降级CUDA版本时需要权衡各种因素。

综上所述,CUDA版本与Visual Studio之间的对应关系对于确保开发项目的顺利进行至关重要。在选择和配置时,务必仔细查阅相关文档和手册以降低出错的风险。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值