当前位置: 代码网 > it编程>前端脚本>Python > 一文看懂深度学习中的cuda环境配置:cuda,cuda driver,cudnn与pytorch-cuda

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

2024年08月05日 Python 我要评论
一文搞定深度学习中的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

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com