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

相关文章

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图

perl的学习记录——仿真regression

1 记录的背景 之前只知道有这个强大语言的存在,但一直侥幸自己应该不会用到它,所以一直没有开始学习。然而人生这么长,怎就确定自己不会用到呢? 这次要搭建一个可以自动跑完所有case并且打印每个case的pass信息到指定的文件中。从而减轻手动跑仿真,手动查看log信息的重复无效低质量的操作。下面简单记录下自己的思路并贴出自己的代码,方便自己以后使用和修正。 2 思路整理 作为一个IC d

SSM项目使用AOP技术进行日志记录

本步骤只记录完成切面所需的必要代码 本人开发中遇到的问题: 切面一直切不进去,最后发现需要在springMVC的核心配置文件中中开启注解驱动才可以,只在spring的核心配置文件中开启是不会在web项目中生效的。 之后按照下面的代码进行配置,然后前端在访问controller层中的路径时即可观察到日志已经被正常记录到数据库,代码中有部分注释,看不懂的可以参照注释。接下来进入正题 1、导入m

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位

flume系列之:记录一次flume agent进程被异常oom kill -9的原因定位 一、背景二、定位问题三、解决方法 一、背景 flume系列之:定位flume没有关闭某个时间点生成的tmp文件的原因,并制定解决方案在博主上面这篇文章的基础上,在机器内存、cpu资源、flume agent资源都足够的情况下,flume agent又出现了tmp文件无法关闭的情况 二、

驱动(RK3588S)第七课时:单节点设备树

目录 需求一、设备树的概念1、设备树的后缀名:2、设备树的语法格式3、设备树的属性(重要)4、设备树格式举例 二、设备树所用函数1、如何在内核层种获取设备树节点:2、从设备树上获取 gpio 口的属性3、获取节点上的属性只针对于字符串属性的4、函数读取 np 结点中的 propname 属性的值,并将读取到的 u32 类型的值保存在 out_value 指向的内存中,函数的返回值表示读取到的

Linux常用工具与命令日常记录(长期更新)

Linux常用工具与命令日常记录(长期更新) 目录 1.本地复制到远程2.Linux压缩拆包与解压3.生成随机密码4.ubuntu默认Python版本设置5.计算当前文件夹中文件数量6.windows中编写shell脚本,在Linux运行出错7.history 历史命令显示时间用户8.Ubuntu18.04设置源、网卡9.Ubuntu18.04设置网卡10.Ubuntu:自定义开