C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\
目录下存在v10.0
、v10.2
两个文件夹。CUDA Toolkit和CUDA Driver版本的对应情况部分如下,源自:https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.html?spm=a2c6h.12873639.0.0.6ae46238jQLxD6#major-components
nvidia-smi
:全程是NVIDIA System Management Interface ,在命令行中使用该语句可监控NVIDIA GPU设备;nvvv -V
:如本机安装有CUDA,执行该命令查看CUDA安装版本。下图中,nvidia-smi
显示Driver Version 462.42,查上表可知该版本最高支持CUDA 11.2。
至于nvidia-smi
显示CUDA Version 11.2,nvcc -V
显示CUDA Version 10.0,这是由于driver API与runtime API的区别。
CUDA有两个主要的API:runtime API和driver API,这两个API都有对应的CUDA版本(如10.0和11.2等)。
综上,如果driver API和runtime API的CUDA版本不一致可能是因为使用的是单独的GPU driver installer,而不是CUDA Toolkit installer里的GPU driver installer。因为一般情况下,我们的笔记本电脑安装个CUDA Driver就可正常看视频、办公和玩游戏了,几乎用不到CUDA Toolkit,就没有安装CUDA Toolkit。
在确定自己电脑支持的CUDA最高版本后,还需要结合pytorch版本选择合适的CUDA版本。
PyTorch官网:https://pytorch.org/
PyTorch历史版本:https://pytorch.org/get-started/previous-versions/
cuda最新版本:https://developer.nvidia.com/cuda-downloads
cuda历史版本:https://developer.nvidia.com/cuda-toolkit-archive
cuDNN下载:https://developer.nvidia.com/rdp/cudnn-archive
双击cuda安装包启动安装程序,默认位置安装即可;
选择自定义安装,去掉VS Intergration;
安装位置选择用系统默认,也可自行更改,但要记住自己的安装位置,以便后续导入cudnn和系统变量设置;
等待安装完成。
cudnn解压后内部总共3个文件夹,将三个文件夹的内容分别复制添加到cuda10.2文件夹中对应的文件夹内,注意不是替换/覆盖掉三个文件夹。
CUDA
CUDA安装完成后,系统变量中会自动添加CUDA_PATH
和CUDA_PATH_V10_2
,CUDA_PATH
由原来的10.0自动变更为10.2,如下图。
cudnn
见下图(以未安装10.2之前的10.0版本示例),在环境变量path
中添加路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\include
和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
;
图中路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin
和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp
是与之前的CUDA_PATH
同步自动添加的,如果没有就手动添加。
CUDA
在命令行中运行nvcc -V
,会显示CUDA安装版本;
或是进入到cuda的安装路径C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite
,执行deviceQuery.exe
,出现如下界面。
cudnn
同样在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite
目录下执行bandwidthTest.exe
,出现如下界面。
注意,两个exe文件需要命令行cd到安装目录,命令行运行文件,如上图所示;否则,直接在文件夹中运行会一闪而过。
切换CUDA版本时,只需要切换环境变量中CUDA的顺序即可,比如让CUDA10.2生效,只需将CUDA10.2环境变量上移至CUDA10.0之前。
详情可参考Windows下CUDA多版本共存
conda create -n py18 python=3.8
conda activate py18
conda install pytorch torchvision torchaudio cudatoolkit=10.2
在第三步因为网络安装失败的问题,更换国内源,如清华镜像https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/;若换源后仍无法安装心仪版本,比如本次试图安装的1.8.2版本国内源未更新(见下图),到官网https://download.pytorch.org/whl/lts/1.8/torch_lts.html下载合适版本的whl文件,然后本地安装:
pip install cudatoolkit=10.2
pip install torch-1.8.2+cu102-cp38-cp38-win_amd64.whl
pip install torchvision-0.9.2+cu102-cp38-cp38-win_amd64.whl
pip install torchaudio-0.8.2-cp38-none-win_amd64.whl
import torch
print(torch.__version__)
print(torch.cuda.is_available())
device = torch.device("cuda:0" if (torch.cuda.is_available()) else "cpu")
print(device)
print(torch.cuda.get_device_name(0))