一文看懂深度学习中的cuda环境配置:cuda,cuda driver,cudnn与pytorch-cuda

深度学习中通常会涉及到cuda环境相关的问题,特别是torch版本,cuda版本等兼容问题。
主要涉及到这四个方向

  • 显卡驱动:cuda driver 。驱动API (driver API)通过nvidia-smi查看,是所有cuda环境的基础
  • CudaToolkit:通常意义上说的cuda,即运行API(runtime API),本质是一个工具包。与驱动没有强绑定,通过nvcc --version查看
  • cudnn:一个深度学习计算设计的加速库,可以理解为是cuda的一个补充插件,在编译TensorRT等库的时候需要
  • pytorch-cuda:torch中的cuda依赖。安装torch的时候一般都要选择cuda版本,但是与cuda版本并不完全依赖,版本不一样多数时候也是可以运行的,所以可以根据需求选在torch版本。

CUDA Driver

显卡驱动,所有cuda环境的基础。在NVIDIA Driver中选择与系统向适应的版本下载安装
通过nvidia-smi查看信息。其中的CUDA Version代表当前驱动下所能支持的最高cuda版本。并不是实际安装的cuda(nvcc)版本
在这里插入图片描述

cuda与cudnn下载

https://k2-fsa.github.io/k2/installation/cuda-cudnn.html

CUDA Toolkit

通常意义下指的cuda。本质是一个工具包。也就是nvcc --version相关的信息
CUDA Toolkit中选择满足驱动的版本下载。
一个设备上可以安装多个cuda。比如同时安装了CUDA 9.0、CUDA 10.0、CUDA 11.0.。NVIDIA显卡驱动跟CUDA Toolkit之间没有强行的绑定关系
linux系统cuda默认系统路径是/usr/local/cuda
可以通过软链接的方式修改cuda指向
在这里插入图片描述
也可以修改环境变量指定cuda的实际路径地址
修改~/.bashrc

vim ~/.bashrc
# 添加下面信息
export PATH=$PATH:/you/path//cuda-11.7/bin
# 添加完后
source ~/.bashrc

cuda Toolkit的安装过成中会默认自带驱动的安装。已经安装好驱动的话,要取消驱动的安装选项
accept
在这里插入图片描述

取消驱动的安装,在option中选择tool的安装路径

在这里插入图片描述

cudnn

cudnn是一个为深度学习计算设计的软件库,运行GPU版的TensorRT或者其他编译功能的时候都需要安装cudnn才行
选择与cuda相匹配的cudnn版本:cudnn历史版本
以cudnn-11.x为例
下载后解压

tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda11-archive.tar.xz 

得到一个cudnn文件夹
将路径下的lib(或者lib64文件写入环境变量中)

vim ~/.bashrc
# 添加
export LD_LIBRARY_PATH=/your/path/to/cudnn/lib:$LD_LIBRARY_PATH
# 退出后重启.bashrc
source ~/.bashrc

将所有头文件与库文件拷到cuda的安装路径下

cp cudnn/include/cudnn*.h /usr/local/cuda/include
cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
# 重置读写权限
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

查看cudnn是否安装成功与版本信息

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

pytorch-cuda

pytorch安装gpu版本时通常要选择对应的cuda版本
在这里插入图片描述
但是实际上很多时候不需要与cuda(nvcc)的版本一样也是能运行的。可以直接选择合适的torch版本而不需要重新安装cuda

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值