花了一天时间解决这个问题,装了好几个版本的VS2010,2015,2017;然后cuda也下载了11.1;11.3;卸载重装了好几次,电脑还重启了好几次,最后还是不行,打算把这个问题放一放来着,还是想挣扎一下,解决了。
1.看自己的显卡对应cuda版本,下载VS,对应cuda,以及cudnn;
这些概念的理解可以参考:
显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么? - 知乎 (zhihu.com)
先看自己的电脑的显卡对应的cuda版本,方法如下:
这里的cuda版本是电脑显卡可支持的最高版本。然后查看cuda版本对应的支持的VS:
这里的x表示弃用,但仍正常工作。
也就是,11.1是支持VS2013-2019的,因为错误提示:nvcc fatal : nvcc cannot find a supported version of Microsoft Visual Studio. Only the versions between 2013 and 2019 (inclusive) are supported! The nvcc flag '-allow-unsupported-compiler' can be used to override this version check; however, using an unsupported host compiler may cause compilation failure or incorrect run time execution. Use at your own risk.
电脑之前装了VS2015和VS2010,但是仍显示这个错误,于是重新安装VS2017;但是还是不行!
看了一篇博客说,必须先安装VS,然后安装CUDA,否则会出现找不到编译器的情况,于是乎,开始了频繁的下载,安装,卸载,重启,配置环境变量等一系列操作!最后还是不行,下面说一下正确的步骤:
下载CUDA11.1:
CUDA Toolkit Archive | NVIDIA Developer
下载VS2015:https://my.visualstudio.com/Downloads?q=visual%20studio%202015&wt.mc_id=o~msft~vscom~older-downloads下载cudnn:
cuDNN Download | NVIDIA Developer
2.安装
先安装VS2015,在安装CUDA,最后拷贝cudnn;
参考:http://t.csdn.cn/uuCoj
3.测试
cmd输入
nvcc -V; //显示版本号,这个成功了
nvcc -o example.dll --shared example.cu;//这个总是显示nvcc fatal没有对应的VS版本;
然后,在vs打开C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.1\3_Imaging\boxFilter文件夹下的boxfilter_vs2015.sln;参考:http://t.csdn.cn/RIEU0
其中有一个小问题,The CUDA Toolkit v10.0 directory ‘’ does not exist. Please verify the CUDA Toolkit is installed properly or define the CudaToolkitDir property to resolve this error. nbody C:\Program Files;解决如下:
生成,编译,成功;
但是这个nvcc fatal的问题还是不可以,于是搜了以下,nvcc 编译器命令怎么用,看到:
nvcc编译器选项及配置 - shrimp_929 - 博客园 (cnblogs.com)
注意,-o :指定输出文件的位置和名称;
于是,把一直测试使用的:nvcc -o example.dll --shared example.cu语句换成了:
.cu所在文件夹的绝对路径,也就是重新建了CUDA项目之后,kernel.cu所在的文件夹绝对路径,然后就成功了!
4.感悟文章来源:https://www.toymoban.com/news/detail-477686.html
因为跑yolo模型时,想跑一下Real-Time Detection on a Webcam;于是修改GPU=1;然后遇见各种问题,其中就有一个这个nvcc fatal;于是解决了2天,这个问题,说明学习的时候只是照猫画虎,没有理解深刻,别人说什么就做什么,和中学生一样,不理解最基本的概念,只是一味的输入,没有加工输出,于是写了这篇文章,加深记忆。文章来源地址https://www.toymoban.com/news/detail-477686.html
到了这里,关于nvcc fatal:nvcc cannot find a supported version of Microsoft Visual Studio.的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!