Ubuntu安装GPU驱动+CUDA+cuDNN的安装方法

news/2025/3/22 10:45:26/文章来源:https://www.cnblogs.com/xiaobaiysf/p/18786319

一台有GPU的虚拟机如果没有安装CUDA的驱动,是需要我们手动去进行安装的,介绍Ubuntu操作系统的安装教程。

1. 下载安装文件

NVIDIA CUDA Toolkit Archive
点击上面链接,进入CUDA Toolkit Archive,下载需要的CUDA工具包,本文章以CUDA Toolkit 12.3.2版本举例(可能需要代理加速访问网页)

选择对应的系统,架构,发行版本,选择run文件安装方式
(可在服务器中输入uname -a查看当前服务器系统版本信息)

选择完后会出现run文件下载链接,可复制wget命令直接在服务器中下载,也可复制下载链接到浏览器上,通过本地浏览器下载再上传至服务器中。(注意:只下载不执行)

2. 禁用 nouveau 驱动

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

文件最后加入以下内容 (如果没有需要添加,否则忽略这步操作)

 blacklist nouveauoptions nouveau modeset=0

更新使其生效

 sudo update-initramfs -u

重启机器之后检查,

没有内容输出,说明禁用成功

reboot  
lsmod | grep nouveau

3. 安装gcc/cmake

依次执行

sudo apt-get update
sudo apt-get install gcc
sudo apt-get install cmake# 查看版本
gcc --version
cmake --version

4. 运行安装文件

输入ls命令查看运行文件
输入chmod -x {文件名}赋予run文件执行权限
输入sh {文件名}运行run文件

等待一会儿后会弹出NVIDIA用户协议输入accept同意

默认选中显卡驱动,一起安装即可

等待程序运行。。。。
安装完成后,如下图

添加自己需要的cuda版本到环境变量, vim ~/.bashrc,添加以下内容到最后,如:

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

内容输入后,:wq 保存退出,
输入source ~/.bashrc 更新环境变量使刚刚输入的环境变量生效,输入nvcc -V 查看CUDA版本

输入命令nvidia-smi查看显卡驱动与CUDA版本,如下图所示,说明安装成功。

启动显卡持久化服务及其守护程序

cat <<EOF >> /etc/systemd/system/nvidia-persistenced.service
[Unit]
Description=NVIDIA Persistence Daemon
Wants=syslog.target[Service]
Type=forking
ExecStart=/usr/bin/nvidia-persistenced
ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced[Install]
WantedBy=multi-user.target
EOFsystemctl daemon-reload
systemctl start nvidia-persistenced
systemctl enable nvidia-persistenced

在安装NVIDIA CUDA Toolkit时,cuDNN库并不是必须同时安装的,但安装cuDNN可以提供额外的性能优化,特别是在深度学习和某些高性能计算任务中。以下是一些关于是否需要安装cuDNN的考虑因素:

  1. 深度学习应用:如果你的工作或项目涉及到深度学习,特别是需要使用GPU加速的深度学习框架(如TensorFlow、PyTorch等),那么安装cuDNN是非常推荐的。cuDNN提供了针对深度学习算法的优化实现,可以显著提高训练和推理的速度。
  2. 性能需求:如果你的应用需要高性能的计算能力,并且对计算速度有较高的要求,那么安装cuDNN可以提供额外的性能提升。
  3. 兼容性:确保你安装的CUDA Toolkit版本与cuDNN版本兼容。NVIDIA提供了不同版本的CUDA Toolkit和cuDNN,它们之间有特定的兼容性要求。
  4. 空间和资源:cuDNN是一个额外的库,会占用一定的磁盘空间和系统资源。如果你的系统资源有限,或者你不需要cuDNN提供的性能优化,那么可以考虑不安装。
  5. 框架支持:一些深度学习框架可能已经内置了对cuDNN的支持,或者提供了使用cuDNN的选项。在这种情况下,安装cuDNN可以使得这些框架能够利用GPU加速。
    总的来说,是否需要安装cuDNN取决于你的具体需求。如果你不确定是否需要cuDNN,可以先安装CUDA Toolkit,然后在需要的时候再安装cuDNN。这样,你可以在不牺牲性能的情况下,根据实际需求灵活地选择是否使用cuDNN。

5. 配置cuDNN库

cuDNN比CUDA安装简单,下载对应版本压缩包,拷贝文件到指定目录,给予权限就好了。

cuDNN官方下载地址(如果下载不了,需要登录NVIDIA账号)

下图为cuDNN对应版本关系

将tar包下载至服务器上,解压tar包,并将文件cp至对应位置命令如下:

tar -xvf cudnn-linux-$arch-8.x.x.x_cudaX.Y-archive.tar.xz
cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*#加上版本号后,实际执行命令如下
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz 
cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/cudnn*.h /usr/local/cuda/include
cp -P cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/libcudnn* /usr/local/cuda/lib64
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

使用以下命令查看cuDNN是否配置完成

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

相关安装包地址:https://pan.quark.cn/s/4a29f4c9ef9f

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/903390.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[多项式学习笔记] 拉格朗日插值

[多项式学习笔记] 拉格朗日插值[多项式学习笔记] 拉格朗日插值 多项式插值 给定 \(x\) 坐标两两不同的 \(n + 1\) 个点,能够唯一确定一个 \(n\) 次多项式。从给定点求出多项式的过程称为插值。 具体而言,给定 \(n + 1\) 个点 \((x_0, y_0), (x_1, y_1), \cdots, (x_n, y_n)\)…

flutter:bottomNavigationBar+PageView切换页面,使页面可以滑动切换

一,代码: tabbar: import package:flutter/material.dart; import ../tabpages/MyHomePage.dart; import ../tabpages/ProfilePage.dart;class MyTabBar extends StatefulWidget {const MyTabBar({super.key});@overrideState<MyTabBar> createState() => _MyTabBar…

flutter:用底部导航栏切换页面

一,代码: tabbar页面: import package:flutter/material.dart; import ../tabpages/MyHomePage.dart; import ../tabpages/ProfilePage.dart;class MyTabBar extends StatefulWidget {const MyTabBar({super.key});@overrideState<MyTabBar> createState() => _MyTa…

ASE13N45-ASEMI照明驱动专用ASE13N45

ASE13N45-ASEMI照明驱动专用ASE13N45编辑:LL ASE13N45-ASEMI照明驱动专用ASE13N45 型号:ASE13N45 品牌:ASEMI 封装:TO-220F 最大漏源电流:13A 漏源击穿电压:450V 批号:最新 RDS(ON)Max:0.45Ω 引脚数量:3 沟道类型:N沟道MOS管 封装尺寸:如图 特性:MOS管、N沟道M…

CORIDIC算法学习记录

目录问题问题分析CORDIC算法原理逼近方法及步骤逼近过程中的符号确定根据角度计算正切值举个例子逼近\(\theta=50^{\degree}\)并求其正切值 CORDIC算法叫坐标旋转数字计算法,由J.Volder在1959年提出,可以快速且简单的计算角度的数值。 问题已知\(y,x\),如何快速计算角度\(\t…

郑州商转公直还办理流程-2025年3月

先叠个甲,因为时间、地点、银行及每个人的情况可能都不一样,最终流程和结果可能也不一样,建议根据自己情况提前咨询,以下为我个人真实经历,仅供参考。 时间线:1.2025.3.10周一,去贷款行办理《同意提前结清商业贷款函》、《同意提前结清商业贷款函》、余额证明,12号周三…

设计一种将方向盘的旋转角度转换为USB信号的装置,用于汽车驾驶模拟

量角器是一种专门的设备,用于高精度测量旋转角度,并通过USB将这些测量结果传输到主机。它集成了一个精确的编码器,能够以1度的精度测量角度。树莓派Pico通过可编程I/O (Programmable I/O)高速读取编码器信号,而TinyUSB库则用于与主机共享数据。该量角器的开发主要是为了解决…

郑州商转公直还办理流程

时间线:1.2025.3.10周一,去贷款行办理《同意提前结清商业贷款函》、《同意提前结清商业贷款函》、余额证明,12号周三电话我已出好,可以去公积金中心办商转公了;2.2025.3.17周一,去公积金中心办理商转公直还,周四下午收到已放款短信,周五早上接到贷款行电话提醒去办提前…

构建一个2.4GHz无线网络分析仪,可兼作远程(LoRa)收发器

快速预览 呈现DualCast !我最新的(也是最先进的)项目。它是一种紧凑型无线设备,除了能够通过LoRa技术发送915MHz AES-128加密的远程命令外,还能够分析2.4GHz Wi-Fi网络上的实时流量。(默认设置下最高可达一公里!)翻转180以激活Wi-Fi模式。此外,它还配备了许多传感器,如用于…

Vue3 关闭vueDevTools工具

1、文件 vite.config.ts 2、注释

SecureCRT SecureFX 9.6.2 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输

SecureCRT & SecureFX 9.6.2 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输SecureCRT & SecureFX 9.6.2 for macOS, Linux, Windows - 跨平台的多协议终端仿真和文件传输 rock-solid terminal emulation & flexible secure file transfer for com…