一、定义

1.1、什么是CUDA

CUDA(ComputeUnified Device Architecture),是显卡厂商NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

1.2、什么是CUDNN

NVIDIA CUDNN是用于深度神经网络的GPU加速库。

1.3、什么是CUDA Toolkit

CUDA Toolkit由以下组件组成:

Compiler:编译器,包含nvcc

Tools:工具

Libraries:科学库、程序库

CUDA Samples: 演示代码

CUDA Driver:驱动

1.4、什么是nvcc

Nvcc是cuda的编译器,类似于gcc是c语言的编译器

显卡,显卡驱动,nvcc, cuda driver,cudatoolkit,cudnn到底是什么? - marsggbo - 博客园

nvcc -V 可查看cuda版本

二、查看版本

2.1 查看显卡驱动

nvidia-smi

Driver Version: 410.104 CUDA Version: 10.0 表明显卡驱动版本为410.104,支持的cuda最高版本为10.0。注意这里显示的是支持的最高版本,不是实际版本

2.2查看cuda版本

方法一: nvcc -V 或 nvcc --version

nvcc: NVIDIA (R) Cuda compiler driver

Copyright (c) 2005-2018 NVIDIA Corporation

Built on Sat_Aug_25_21:08:01_CDT_2018

Cuda compilation tools, release 10.0, V10.0.130

方法二:cat /usr/local/cuda/version.txt

CUDA Version 10.0.130

2.3查看cuda安装位置

which nvcc

whereis nvcc

存在cuda装了nvcc没有的情况

2.4查看CUDNN版本

cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2

#define CUDNN_MAJOR 7

#define CUDNN_MINOR 5

#define CUDNN_PATCHLEVEL 0

--

#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)

#include "driver_types.h"

以上输出代表cuDNN版本为7500,或视为7.5.0

2.5基于python查看pytorch、cuda、cudnn版本(我的最爱)

import torch

print(torch.__version__)   # 1.1.0

print(torch.version.cuda)   # 10.0.130

print(torch.backends.cudnn.version()) # 7501

三、限制关系

3.1 概览

显卡驱动——cuda——cudann——pytorch——numpy——torchvision

410.104——10.0.130——7.5.0——1.1.0——1.19.5

440.118.02 ——10.2——8.0.2——1.6.0——XXX——0.7.0

查看版本关系

下个链接可查看最新版本的限制关系,如py10等

GitHub - pytorch/vision: Datasets, Transforms and Models specific to Computer Vision

TensorFlow、PyTorch各版本对应的CUDA、cuDNN关系_caiguanhong的博客-CSDN博客_pytorch和cudnn对应版本

nvidia 关于版本限制的描述

Release Notes :: CUDA Toolkit Documentation

3.2显卡驱动限制cuda

3.3cuda限制pytorch

四、下载及安装

4.1下载及安装显卡驱动

Tensorflow-gpu版本安装 - breezey - 博客园

Download Drivers | NVIDIA

Release Notes :: CUDA Toolkit Documentation

打开nvidia网站,基于所需cuda版本,下载对应显卡驱动

我的服务器是tesla p100,下载次新cuda版本11.2

我下载的驱动版本是460.91.03

点击“Skip & Continue to Download

显卡驱动安装指令

cd /wls/share/setup

./NVIDIA-Linux-x86_64-440.118.02.run

安装时选择覆盖Install and overwrite existing files

如需要赋执行权限,chmod 750 NVIDIA-Linux-x86_64-440.118.02.run

备注:cuda11.2匹配的NVIDIA-Linux-x86_64-460.91.03.run 和我的服务器不太匹配,最后安装的是cuda10.2匹配的NVIDIA-Linux-x86_64-440.118.02.run

提示

centos An NVIDIA kernel module ‘nvidia-uvm’ appears to already be loaded in your kernel.

解决方法

lsof | grep nvidia.uvm 查看占用的程序

kill -9 PID 停止对应的程序

更新驱动后,docker报错“docker: Error response from daemon: OCI runtime create failed: container_linux.go:348:

此时重启docker可解决‘service docker restart

4.2 下载及安装CUDA

目前遇到了3种安装cuda的方法,分别为

1、driver API  安装显卡驱动时,安装了cuda 的driver API ,也就是nvidia-smi时显示的cuda版本

2、runtime API 独立安装cuda,即通常安装在路径/usr/local下,用软链接管理的多个cuda版本

CUDA Toolkit 11.5 Update 1 Downloads | NVIDIA Developer

cuda10.2的下载地址是http://developer.download.nvidia.com/compute/cuda/10.2/Prod/local_installers/cuda_10.2.89_440.33.01_linux.run

3、安装pytorch时自带cuda、cudnn

pytorch自带cuda和cudnn,只需支持高于这个cuda版本的显卡驱动即可。这种安装下cuda只给pytorch用。pytorch在编译的时候已经把cuda的库静态链接到了自己的库里,用conda或者pip安装的包已经打包好这些了。

这种安装下import pytorch输出的cuda版本和nvcc -V的版本会存在不同

【精选】Pytorch-gpu版安装教程【注意:无需提前安装cuda和cudnn】_升级显卡驱动需不需要升级cuda、pytorch-CSDN博客

为什么电脑装了pytorch没有安装cuda,还是能够使用gpu? - 知乎

4.3下载及安装CUDNN

建议利用已有容器,不必从头搭建环境

4.4下载及安装TORCHVISION

        我的环境情况如下,linux配置是py10+torch1.12.1+cuda10.2+cudnn7605,缺少totchvision,下面链接1里没有1.12.1只有1.12.0,从链接2下载whl文件,最后下载的是cu102/torchvision-0.13.1%2Bcu102-cp310-cp310-linux_x86_64.whl

    其中%2B编码是+的意思,然后再pip install xxx.whl

https://github.com/pytorch/vision#installation

https://download.pytorch.org/whl/torch_stable.html

>>> import torch
>>> print(torch.__version__)
1.12.1+cu102
>>> print(torch.version.cuda)
10.2
>>> print(torch.backends.cudnn.version())
7605

Logo

欢迎来到由智源人工智能研究院发起的Triton中文社区,这里是一个汇聚了AI开发者、数据科学家、机器学习爱好者以及业界专家的活力平台。我们致力于成为业内领先的Triton技术交流与应用分享的殿堂,为推动人工智能技术的普及与深化应用贡献力量。

更多推荐