首页 > 系统相关 >搭建CUDA、CUDNN、Pytorch环境(Windows10/11)

搭建CUDA、CUDNN、Pytorch环境(Windows10/11)

时间:2023-09-18 09:12:11浏览次数:41  
标签:11 nvcc Windows10 CUDNN API CUDA 版本 安装 cuda

摘要:搭建Windows系统下Cuda+CUDNN环境,注意C盘一定要大,建议1T+SSD

参考:

  https://blog.csdn.net/weixin_61164016/article/details/127564466

  https://blog.csdn.net/qq_43308156/article/details/127479544

  https://blog.csdn.net/weixin_45068330/article/details/121241867

0、CUDA简介

随着显卡的发展,GPU越来越强大,而且GPU为显示图像做了优化。在计算上已经超越了通用的CPU。如此强大的芯片如果只是作为显卡就太浪费了,因此NVIDIA推出CUDA,让显卡可以用于图像计算以外的目的。

1、检查本地环境

检测本地CUDA环境有两种方式:

nvcc -V

nvidia-smi

通常来说两个命令所得到的结果是不同的,显示的cuda版本不同,如下图:

CUDA有两个主要的API,runtime API(nvcc -V 显示的cuda)和driver API(nivdia-smi中显示的cuda),两者都有相应的版本(例如8.0、9.0等)。对driver API的必要支持(e.g. libcuda.so on linux),是由GPU驱动安装程序安装的。对runtime API(e.g. libcudart.so on linux, and also nvcc)的必要支持,是由CUDA工具包安装程序安装的。

因为由CUDA toolkit安装的cuda编译-驱动工具nvcc,总是会报告cuda运行时版本。nvcc不知道系统安装了什么驱动版本,甚至不知道系统是否安装了GPU驱动。

所以,这两个版本不必完全相同,因为它们反映了两种不同的cuda API。而且在大多数情况下,nvidia-smi报告的cuda版本在数值上等于或高于nvcc -V报告的cuda版本。

总结来说,driver API(nvidia-smi)显示的版本是系统运行或游戏使用的CUDA驱动,是给显卡本身用的,而runtime API(nvcc -V)显示的版本,是深度学习服务可用的CUDA环境,通常来说,driver API(nvidia-smi)显示的版本必须 >= runtime API(nvcc -V)显示的版本,也就是说,driver API可以尽量安装最新版本,而runtime API根据需要来安装版本即可。

2、下载CUDA、CUDNN

访问英伟达网站 https://www.nvidia.cn/geforce/drivers/ 下载CUDA工具包。(前面查看了你的设备最高支持的版本,只要版本比这个低就行了)

访问 https://developer.nvidia.com/rdp/cudnn-archive#a-collapse742-10 下载CUDNN环境。

此处提供CUDA11.7及对应CUDNN百度网盘地址:

CUDA:https://pan.baidu.com/s/1Ol4SAGHy7weaaXwaItR2hw?pwd=jzrn

CUDNN: https://pan.baidu.com/s/1Exq6AY2Ey2ZH3nStVRyBjQ?pwd=0ajm

3、安装CUDA及CUDNN

CUDA下载后建议全部下一步安装,此处CUDA会占用C盘5G左右空间。

CUDA安装后,会自动建立2个环境变量,如下图,如果没有自动建立,手工建立即可

手工建立以下环境变量

CUDA_SDK_PATH = C:\ProgramData\NVIDIA Corporation\CUDA Samples\v11.7
CUDA_LIB_PATH = %CUDA_PATH%\lib\x64
CUDA_BIN_PATH = %CUDA_PATH%\bin
CUDA_SDK_BIN_PATH = %CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH = %CUDA_SDK_PATH%\common\lib\x64

手工将以下环境变量添加到Path中:

%CUDA_LIB_PATH%;%CUDA_BIN_PATH%;%CUDA_SDK_LIB_PATH%;%CUDA_SDK_BIN_PATH%;
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\CUPTI\lib64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\bin\win64
C:\ProgramData\NVIDIA Corporation\CUDA Samples\v10.2\common\lib\x64

下载cudnn后直接将其解开压缩包,然后需要将解压后的bin,include,lib文件夹复制粘贴到cuda安装时的默认路径文件夹下(比如我的是在:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.2 )

注意是把整个文件夹复制(bin,include,lib)

使用以下命令测试安装是否成功:

nvcc -V

4、安装Pytorch

pytorch镜像下载链接: https://download.pytorch.org/whl/torch_stable.html

下载相关版本pytorch与torchvision

  • cu后面的表示cuda版本(例如:cu116对应cuda116版本)
  • cp后面表示python版本(例如:cp39对应python3.9)
  • win_amd64对应系统版本

此处提供1.7.0版本百度网盘地址: https://pan.baidu.com/s/1qzJ203Gn6Qyy6nCnv4eu6g?pwd=hyiq

下载whl文件后,使用pip安装,先安装pytorch再安装torchversion

安装完成后查看是否安装成功

python
import torch
torch.cuda.is_available() 

出现以下结果代表安装成功:

标签:11,nvcc,Windows10,CUDNN,API,CUDA,版本,安装,cuda
From: https://www.cnblogs.com/jinyuanbao/p/17710712.html

相关文章

  • 算法训练day11 栈与队列 02 LeetCode20
    算法训练day11栈与队列02LeetCode20.1047.15020.有效的括号:题目:20.有效的括号-力扣(LeetCode)题解:代码随想录(programmercarl.com)classSolution{public:boolisValid(strings){stack<char>str;if(s.size()%2==1)......
  • 2023-2024-1 20211306 密码系统设计与实现课程学习笔记2
    20211306密码系统设计与实现课程学习笔记2学习任务详情自学教材第九章,提交学习笔记本章是复习C语言中的文件操作内容,结构化从文本文件操作,二进制文件操作两个大内容考虑,以前可能只关注文本文件的操作,我们以后更多的是操作二进制文件。文本文件中考虑字符读写,行读写,任意位......
  • 靶机Scriptkiddie Funbox11 学习总结
    一、信息收集:1、扫描ARP信息:└─#arp-scan–l2、使用nmap扫描端口,-sC使用默认脚本进行漏洞扫描:└─#nmap-sC-sV-oAnmap/funbox192.168.2.23再扫描一下版本:通过上面的信息可以看到:(1)  系统为ubuntu,但是具体的版本不确定(2)  系统开放了21端口,运行的软件为proftpd,版......
  • 20211316郭佳昊 《信息安全系统设计与实现(上)》 第二周学习笔记
    一、任务要求[1]知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题核心是要求GPT:请你以苏格拉底的方式对我进行提问然后GPT就会......
  • 20211301 学习笔记2
    20211301《Unix/Linux系统编程》学习笔记1教材笔记总结学习目标本章是复习C语言中的文件操作内容,结构化从文本文件操作,二进制文件操作两个大内容考虑,以前可能只关注文本文件的操作,我们以后更多的是操作二进制文件。文本文件中考虑字符读写,行读写,任意位置读写等文件操作......
  • 2021-11-20-ASM总结
    layout:ASM总结title:大二上日志categories:日志tags:-比赛总结-大二BGImage:'https://github.xutongxin.me/https://raw.githubusercontent.com/xutongxin1/PictureBed/master/img0/20220310123346.png'jekyll-theme-WuK:musicid:'34367899'......
  • 2021-11-14-MQTT的python应用
    layout:posttitle:MQTT的python应用categories:日志tags:-日志-大二BGImage:'https://github.xutongxin.me/https://raw.githubusercontent.com/xutongxin1/PictureBed/master/img0/20220310123346.png'jekyll-theme-WuK:musicid:'34367899......
  • [ARC119F] AtCoder Express 3
    题目链接观察样例1的解释,发现切换类型的方法是比较单一的这种就是直接走一段换一段,我们可以人为钦定换乘时最多走一步,因为相邻的同色也可以视作走车站这种情况复杂一些,需要往回走一段,但是依然可以发现往回走也至多一步,因为如果走了两步说明往回走了一步到达的车站依......
  • 2020-11-27-myy12周日志
    layout:posttitle:myy通讯录日志categories:日志tags:-日志-2020日志jekyll-theme-WuK:background_music:'<iframeframeborder="no"border="0"marginwidth="0"marginheight="0"width=100%height=86sr......
  • 2020-11-23-第12周开发日记
    layout:posttitle:xtx第12周开发日志categories:日志tags:-日志-2020日志BGImage:'https://cdn.jsdelivr.net/gh/xutongxin1/xutongxin1.github.io@a09d6cce1e133e1819736340f4016f10a0226969/asset/background/75006825_p0.jpg'jekyll-theme-WuK:m......