win10+CUDA9.0+VS2017

截止20220208,CUDA的最新版本为CUDA 11.6,Visual Stadio的最新版本为2022,最新版本的CUDA用在VS上暂时还没试验,下面就CSDN上学习的一篇CUDA9.0+VS2017的学习中我遇到的一些问题进行说明:

win10+CUDA9.0+VS2017配置网址:https://blog.csdn.net/u013165921/article/details/77891913

问题:
1、注意:头文件目录、库目录、依赖项目录(库,比CCS多的一项,当然CCS中还有包)
下面的依赖项可以给:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.6\lib\x64文件夹中的.lib文件全部添加上。
可以用管理员运行cmd(ctr+shift+enter)的方法将上述文件中的.lib文件的文件名写入到TXT文本文件中。操作入下图所示:
在这里插入图片描述
VS2017配置:
  1.打开vs2017,我们可以观察到,在VS2017模板一栏下方出现了“NVIDIA/CUDA 9.0”。创建一个空win32程序,即cuda_test项目。
在这里插入图片描述
  2.右键源文件文件夹->添加->新建项->选择CUDA C/C++File,取名cuda_main。
  在这里插入图片描述
3.选择cuda_test,点击右键–>项目依赖项–>自定义生成,选择CUDA9.0。
在这里插入图片描述
 4.点击cuda_main.cu的属性,在配置属性–>常规–>项类型–>选择“CUDA C/C++”。
在这里插入图片描述

1.x64(3点,项目的配置共上面的4点加下面的3点!)

1.1 包含目录配置
  1.右键点击项目属性–>属性–>配置属性–>VC++目录–>包含目录
  2.添加包含目录:
   $(CUDA_PATH)\include

1.2 库目录配置
  1.VC++目录–>库目录
  2.添加库目录:
   $(CUDA_PATH)\lib\x64

1.3 依赖项
   配置属性–>链接器–>输入–>附加依赖项
   添加库文件:
    cublas.lib
    cuda.lib
    cudadevrt.lib
    cudart.lib
    cudart_static.lib
    nvcuvid.lib
    OpenCL.lib
    。。。
文件夹中的文件名整理方法:可以cmd进入以上路径 用DIR *.lib /B > 1.txt ,复制粘贴即可。
cmd中先“E:回车”切换到E盘,再cd到指定文件中后按上面语句进行操作

.x86(win32)

2.1 包含目录配置

右键点击项目属性–>属性–>配置属性–>VC++目录–>包含目录
  添加包含目录:
   $(CUDA_PATH)\include

2.2 库目录配置
  1.VC++目录–>库目录
  2.添加库目录:
   $(CUDA_PATH)\lib\Win32

2.3 依赖项
   配置属性–>连接器–>输入–>附加依赖项
   添加库文件:
    cuda.lib
    cudadevrt.lib
    cudart.lib
    cudart_static.lib
    nvcuvid.lib
    OpenCL.lib

备注: win32和x64位的lib库有差别,配置时需注意,除了上述添加的lib文件外,x64还有其他的lib库文件,如cublas.lib,如运行1.6的样例时,要添加这个库,不然会编译失败。

2、程序编译后产生下述错误:
错误 MSB3721 命令““C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\bin\nvcc.exe” -gencode=arch=compute_30,code=“sm_30,compute_30” --use-local-env -ccbin “D:\Visual Studio 2017\VC\Tools\MSVC\14.12.25827\bin\HostX86\x86” -x cu -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\include" -G --keep-dir Debug -maxrregcount=0 --machine 32 --compile -cudart static -g -D_MBCS -Xcompiler "/EHsc /W3 /nologo /Od /FdDebug\vc141.pdb /FS /Zi /RTC1 /MDd " -o Debug\CUDA_main.cu.obj “D:\Visual Studio 2017 data\repos\CUDAlearn\CUDAlearn\CUDA_main.cu””已退出,返回代码为 1。 CUDAlearn D:\Visual Studio 2017\Common7\IDE\VC\VCTargets\BuildCustomizations\CUDA 9.2.targets 712

注意图片中下面两处要选择Release x64:
在这里插入图片描述
3、该程序运行后计算结果全为0(搜索关键词:VS调用GPU做矩阵相乘运算后结果全为零):CUDA的版本不对,我将CUDA 9.0换成CUDA 11.6后运算结果正确,入下图所示:

**关于CUDA版本安装问题,可以直接在上一版本安装的基础上安装,也可以在应用于程序中按照安装日期卸载之前安装的版本。
**切换CUDA版本:(1)需要修改的环境变量(在高级系统设置里面):CUDA_PATH、CUDA_SDK_PATH。切换CUDA版本的环境变量设置,(2)注意Path路径中变量的上下移动(将系统变量中的Path环境变量中的两个11.6相关的环境变量相较于其它版本的上面):https://blog.csdn.net/qq_38500228/article/details/123870113

检测CUDA安装的成功与否在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\demo_suite文件夹下运行链接中的两个.exe文件即可!!! deviceQuery.exe 和 bandwidthTest.exe

查看CUDA版本:nvcc -V ; nvidia-smi.exe(两个命令显示的CUDA版本不一样的原因解释:https://blog.csdn.net/m0_50973309/article/details/125623897 ,按照博客所说,前者显示的是运行API,后者显示的是驱动API,实际使用的时候按照运行API来!)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

embrace_the_sunhaha

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值