ubuntu18.4 3090 显卡驱动,cuda,cudnn 记录

2023-12-28 07:20

本文主要是介绍ubuntu18.4 3090 显卡驱动,cuda,cudnn 记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

安装ubuntu18.04系统,

本教程目录,

1安装显卡驱动

2安装cuda驱动

3 复制cudnn库到cuda安装目录的指定位置

4卸载显卡驱动

5卸载cuda驱动

一般做法是先安装显卡驱动,那么在cuda安装的时候就不要再安装显卡驱动了,再安装cudnn ,

一   显卡驱动安装

①使用第三方驱动

先把默认显卡驱动删除掉
sudo apt-get purge nvidia*
添加显卡驱动第三方ppa源
sudo add-apt-repository ppa:graphics-drivers/ppa
更新软件列表(不是更新软件)
sudo apt-get update
查找适合的驱动版本
ubuntu-drivers devices
结果
yu@yulinux:~/下载$ ubuntu-drivers devices
== /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0 ==
modalias : pci:v000010DEd00002484sv000010B0sd0000146Bbc03sc00i00
vendor   : NVIDIA Corporation
driver   : nvidia-driver-455 - third-party free recommended
driver   : xserver-xorg-video-nouveau - distro free builtin
安装推荐的显卡驱动
sudo apt-get install nvidia-driver-455
安装后重启机器
reboot
重启后查看显卡是否生效
nvidia-smi
Mon Aug  2 11:02:45 2021
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.67       Driver Version: 460.67       CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 3090    Off  | 00000000:01:00.0 Off |                  N/A |
| 81%   63C    P2   133W / 350W |  22287MiB / 24265MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------++-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1411      C   python                          22283MiB |
+-----------------------------------------------------------------------------+

②去nvidia官网搜索linux64位下载,显卡驱动460支持cuda11.2,470支持cuda11.4

找到显卡驱动文件,更改执行权限
sudo chmod a+x ./NVIDIA-Linux-x86_64-460.67.run
执行安装
sudo ./NVIDIA-Linux-x86_64-460.67.run
安装过程提示 pre-install script failed ,选择继续安装提示 dkms 选择yes提示 32位兼容库,选yes提示 X-org,选no
然后就安装好了
nvidia-smi命令显示显卡信息即可

二安装cuda驱动

安装cuda可以在字符界面下安装

Ubuntu字符界面与图形界面切换在登陆系统页面输入密码前,使用快捷键图形界面切换字符界面快捷键Ctrl+Alt+F6字符界面切换图形界面快捷键Ctrl+Alt+F7

先在系统安装依赖库

​
sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev​

安装cuda

首先是版本的选择,怎么选择,要根据pytorch和tensorflow-gpu版本支持的cuda版本来选择, 百度搜索cuda下载,去英伟达官网下载

30系显卡不支持低版本,我这里选择pytorch1.7支持的版本是9.2-11.0,这里选11.0的版本,

下载建议

 把wget后面的地址复制下来,通过浏览器地址栏输入
http://developer.download.nvidia.com/compute/cuda/11.0.2/local_installers/cuda_11.0.2_450.51.05_linux.run
就可以通过浏览器下载了,这样下载会快很多
下载完成后,找到对应的目录
修改权限sudo chmod a+x  cuda_11.0.2.450.51.05_linux.run
运行 sudo sh cuda_11.0.2.450.51.05_linux.run --no-opengl-libs

安装过程

提示需要输入accept,下一步出现安装选项,需要去掉Driver选项,继续选择install,安装完成会提示Driver 没被选择,且需要把安装路径写入环境变量

添加环境变量

vim ~/.bashrc

在文件末尾添加两行

export PATH="/usr/local/cuda-11.0/bin:$PATH"
export LD_LIBRARY_PATH="/usr/local/cuda-11.0/lib64:$LD_LIBRARY_PATH"

保存后执行更新

source ~/.bash

检查是否成功

nvcc -V 或者nvcc --version
后面是大写的V
yu@yulinux:~$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2020 NVIDIA Corporation
Built on Thu_Jun_11_22:26:38_PDT_2020
Cuda compilation tools, release 11.0, V11.0.194
Build cuda_11.0_bu.TC445_37.28540450_0

三  cudnn安装

cudnn只是一个库文件,不需要安装,只需要解压后把文件复制到对应的cuda的include文件夹和lib64文件夹中即可。

同样去英伟达官网下载,需要注册账号的,

选择第一个cudnn library for linux[x86_64]  点击就会下载

下载完成后,参照官方文档安装即可

Before issuing the following commands, you'll need to replace x.x and v8.x.x.x with your specific CUDA version and cuDNN version and package date.

Procedure

  1. Navigate to your <cudnnpath> directory containing the cuDNN Tar file. 进入到cudnn压缩包的目录,
  2. Unzip the cuDNN package.
    $ tar -xzvf cudnn-x.x-linux-x64-v8.x.x.x.tgz  解压

    or

    $ tar -xzvf cudnn-x.x-linux-aarch64sbsa-v8.x.x.x.tgz  
  3. Copy the following files into the CUDA Toolkit directory, and change the file permissions.
    $ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include  把头文件复制到include目录
    $ sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64    把库文件复制到lib64目录
    $ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*   修改所有复制后的头文件和库文件的权限
    

检查是否安装成功

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
结果
yu@yulinux:~$ cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
#define CUDNN_MAJOR 8
#define CUDNN_MINOR 0
#define CUDNN_PATCHLEVEL 5
--
#define CUDNN_VERSION (CUDNN_MAJOR * 1000 + CUDNN_MINOR * 100 + CUDNN_PATCHLEVEL)#endif /* CUDNN_VERSION_H */

四 卸载显卡驱动

ubuntu18.04有时候掉驱动,cuda不可用,使用ubuntu-drivers devices推荐的驱动时,不能选择服务器版本的驱动,否则cuda安装不成功 

掉驱动的情况出现时,显卡驱动本身并没有被卸载,重装驱动则需要把原来的驱动完全删除

这时要先卸载驱动,先查看调用驱动的进程 X 表示图形界面服务

ps aux | grep X

如果显示有桌面服务,就要先关闭图形界面

#以下是ubuntu18.04默认gnome桌面的关闭方式,不同系统版本可能不同
#关闭用户图形界面
sudo systemctl set-default multi-user.target
sudo reboot
#开启用户图形界面
sudo systemctl set-default graphical.target
sudo reboot

关闭图形界面后,再查看显卡进程,会发现X图形进程停止了

然后卸载存在的驱动(这是卸载安装的包)

sudo apt-get --purge remove nvidia-*

对于使用run文件安装的显卡驱动,直接执行下面命令卸载

有原显卡驱动文件时
./NVIDIA-Linux-x86_64-460.67.run --uninstall #确保卸载干净。
无原显卡驱动文件时
sudo /usr/bin/nvidia-uninstall

五 卸载cuda驱动

如果有原cuda驱动安装文件,执行
sudo sh cuda_11.0.2.450.51.05_linux.run --uninstall如果没有原cuda驱动安装文件
sudo /usr/local/cuda-11.0/bin/cuda-uninstaller 然后到/usr/local/ 目录下,把cuda相关的文件全删除
sudo rm -rf cuda*

六 卸载cudnn

cudnn只是库文件,当删除掉/usr/local/下的所有cuda文件夹时,自然就删除了

然后执行一二三步,重新安装即可

这篇关于ubuntu18.4 3090 显卡驱动,cuda,cudnn 记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/545319

相关文章

usb接口驱动异常问题常用解决方案

《usb接口驱动异常问题常用解决方案》当遇到USB接口驱动异常时,可以通过多种方法来解决,其中主要就包括重装USB控制器、禁用USB选择性暂停设置、更新或安装新的主板驱动等... usb接口驱动异常怎么办,USB接口驱动异常是常见问题,通常由驱动损坏、系统更新冲突、硬件故障或电源管理设置导致。以下是常用解决

Java使用SLF4J记录不同级别日志的示例详解

《Java使用SLF4J记录不同级别日志的示例详解》SLF4J是一个简单的日志门面,它允许在运行时选择不同的日志实现,这篇文章主要为大家详细介绍了如何使用SLF4J记录不同级别日志,感兴趣的可以了解下... 目录一、SLF4J简介二、添加依赖三、配置Logback四、记录不同级别的日志五、总结一、SLF4J

在Spring Boot中浅尝内存泄漏的实战记录

《在SpringBoot中浅尝内存泄漏的实战记录》本文给大家分享在SpringBoot中浅尝内存泄漏的实战记录,结合实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录使用静态集合持有对象引用,阻止GC回收关键点:可执行代码:验证:1,运行程序(启动时添加JVM参数限制堆大小):2,访问 htt

MySQL 中查询 VARCHAR 类型 JSON 数据的问题记录

《MySQL中查询VARCHAR类型JSON数据的问题记录》在数据库设计中,有时我们会将JSON数据存储在VARCHAR或TEXT类型字段中,本文将详细介绍如何在MySQL中有效查询存储为V... 目录一、问题背景二、mysql jsON 函数2.1 常用 JSON 函数三、查询示例3.1 基本查询3.2

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Spring Boot 配置文件之类型、加载顺序与最佳实践记录

《SpringBoot配置文件之类型、加载顺序与最佳实践记录》SpringBoot的配置文件是灵活且强大的工具,通过合理的配置管理,可以让应用开发和部署更加高效,无论是简单的属性配置,还是复杂... 目录Spring Boot 配置文件详解一、Spring Boot 配置文件类型1.1 applicatio

MySQL INSERT语句实现当记录不存在时插入的几种方法

《MySQLINSERT语句实现当记录不存在时插入的几种方法》MySQL的INSERT语句是用于向数据库表中插入新记录的关键命令,下面:本文主要介绍MySQLINSERT语句实现当记录不存在时... 目录使用 INSERT IGNORE使用 ON DUPLICATE KEY UPDATE使用 REPLACE

Python 中的异步与同步深度解析(实践记录)

《Python中的异步与同步深度解析(实践记录)》在Python编程世界里,异步和同步的概念是理解程序执行流程和性能优化的关键,这篇文章将带你深入了解它们的差异,以及阻塞和非阻塞的特性,同时通过实际... 目录python中的异步与同步:深度解析与实践异步与同步的定义异步同步阻塞与非阻塞的概念阻塞非阻塞同步

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

Spring Boot中定时任务Cron表达式的终极指南最佳实践记录

《SpringBoot中定时任务Cron表达式的终极指南最佳实践记录》本文详细介绍了SpringBoot中定时任务的实现方法,特别是Cron表达式的使用技巧和高级用法,从基础语法到复杂场景,从快速启... 目录一、Cron表达式基础1.1 Cron表达式结构1.2 核心语法规则二、Spring Boot中定