当前位置:网站首页>NVIDIA三件套环境配置
NVIDIA三件套环境配置
2022-06-27 18:27:00 【51CTO】
对于做深度学习的环境而言,我们需要理顺以下之间的关系。
就比如PyTorch框架,版本越高,对于显卡算力的要求就会越高,显卡算力上去了,CUDA的版本也要跟上去,CUDA版本上去了,驱动版本也要跟上。。。
我个人而言一般会按照高版本的驱动+低版本的CUDA+与CUDA对应的cudnn+与CUDA对应的PyTorch这样的顺序去配置环境。
但是其中会有玄学问题,自行探索!
多百度,都会解决的。
驱动
遇到实在解决不了的问题,最简单的方法就是全部清除干净,重新上路。如果是新电脑第一次配置可以跳过清除操作。
# 卸载CUDA,对应好自己的版本号
sudo /usr/local/cuda-11.1/bin/cuda-uninstaller
sudo rm -rf /usr/local/cuda-11.1/
# 卸载驱动
sudo /usr/bin/nvidia-uninstall
sudo apt-get --purge remove nvidia*
sudo apt-get purge nvidia*
sudo apt-get purge libnvidia*
sudo apt-get autoremove
# 确保不输出任何内容
sudo dpkg --list | grep mvidia*
# 确保禁用了开源驱动nouveau,理论上正常安装NVIDIA官方驱动会自动禁用
lsmod | grep nouveau
# 无输出即代表禁用成功
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
其实CUDA会自带驱动,但是一般都是先装上驱动,再去安装CUDA,在安装CUDA的过程中取消安装CUDA自带的驱动。
当然也可以直接驱动和CUDA一起安装
CUDA
# 下载CUDA,下载run文件,不要deb文件,deb文件会在安装过程中替换掉已安装的驱动
下载地址:https://developer.nvidia.com/cuda-toolkit-archive
# 下载好之后进入到文件所在目录,是一个run后缀的文件,加上执行权限
sudo chmod a +x cuda_11.1.0_455.23.05_linux.run
sudo ./cuda_11.1.0_455.23.05_linux.run
# 如果是已经安装好驱动了,记得安装CUDA的时候取消安装驱动
# 安装完成后查看一下环境变量,理论上会自动在末尾添加
sudo vim ~/.bashrc
# 如果没有,记得自己追加,对应好版本
export PATH =/usr/local/cuda-11.0/bin ${PATH:+: ${PATH} }
export LD_LIBRARY_PATH =/usr/local/cuda-11.0/lib64 ${LD_LIBRARY_PATH:+: ${LD_LIBRARY_PATH} }
# 更新环境变量
source ~/.bashrc
# 测试版本
nvcc -V
#编译并测试设备 deviceQuery:
cd /usr/local/cuda/samples/1_Utilities/deviceQuery
sudo make
./deviceQuery
#编译并测试带宽 bandwidthTest:
cd ../bandwidthTest
sudo make
./bandwidthTest
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
- 20.
- 21.
- 22.
- 23.
- 24.
- 25.
- 26.
- 27.
- 28.
cudnn
# 解压后,进行文件替换
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
# 更改权限
sudo chmod a +r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
# 安装deb包
sudo dpkg -i libcudnn8_8.0.5.39-1 +cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-dev_8.0.5.39-1 +cuda11.0_amd64.deb
sudo dpkg -i libcudnn8-samples_8.0.5.39-1 +cuda11.0_amd64.deb
# 完成后测试
cd /usr/src/cudnn_samples_v8/mnistCUDNN
sudo make
./mnistCUDNN
# 如图,成功
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
问题汇总
运行sudo dpkg --list | grep mvidia*还有输出
英伟达的相关包还没删干净,对照输出的还剩的包,挨个删干净。
运行lsmod | grep nouveau无输出,但还提示让禁用
理论上驱动会自行禁用nouveau开源驱动,但玄学问题,你懂的。
Ps:实现更新后再次安装驱动完成后可能会黑屏,稍等一下。再强制重启。
如果无法进入图形界面,Ctrl+Alt+F1切换到字符界面,Ctrl+Alt+F7切换到图形界面
提示缺少gcc g++ make等包
依次安装即可,常见于新系统。
建议安装完成后装一下build-essential依赖包sudo apt-get install build-essential
边栏推荐
- database engine
- 本周二晚19:00战码先锋第8期直播丨如何多方位参与OpenHarmony开源贡献
- 花了6个月时间完成本科优秀毕业设计,我做了什么?
- 键入网址到网页显示,期间发生了什么?
- Character interception triplets of data warehouse: substrb, substr, substring
- [login interface]
- 移动低代码开发专题月 | 可视化开发 一键生成专业级源码
- Rust 所有权进阶 -- 内存管理
- [bug] Lenovo Xiaoxin has a problem. Your pin is unavailable.
- muduo
猜你喜欢
CSDN skill tree experience and product analysis (1)
Adding, deleting, modifying and querying MySQL tables (basic)
[bug] Lenovo Xiaoxin has a problem. Your pin is unavailable.
[login interface]
数据库索引
字典树(复习)
【STL编程】【竞赛常用】【part 1】
蓄力中台,用友iuap筑牢社会级企业数智化新底座
Crontab's learning essays
Accumulating power in the middle stage, UFIDA IUAP builds a new base for digital intelligence of social enterprises
随机推荐
[debug] platform engineering interface debugging
Rust 中的枚举和控制流运算
花了6个月时间完成本科优秀毕业设计,我做了什么?
Redis cluster Series II
SQL Server - window function - solve the problem of filtering consecutive n records
Pyhton crawls Baidu library text and writes it into word document
移动低代码开发专题月 | 可视化开发 一键生成专业级源码
Pointers and structs
CSDN 技能树使用体验与产品分析(1)
(LC)46. Full Permutation
SQL审核平台权限模块介绍和账号创建教程
Summary of submarine cable detection technology
BLE蓝牙模块NRF518/NRF281/NRF528/NRF284芯片方案对比
Crontab's learning essays
[数组]BM99 顺时针旋转矩阵-简单
【STL编程】【竞赛常用】【part 1】
Pfsense plus22.01 Chinese customized version release
Golang map 并发读写问题源码分析
散列表(Hash)-复习
MASS幸运哈希游戏系统开发丨冲突解决方法(代码分析)