【完整版】Ubuntu安装GPU驱动+CUDA+cuDNN的安装方法

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

Ubuntu教程

下载安装文件

NVIDIA CUDA Toolkit Archive

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

选择对应的系统,架构,发行版本,选择run文件安装方式

(可在服务器中输入<font style="background-color:rgb(247, 247, 247);">uname -a</font>查看当前服务器系统版本信息)

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

禁用 nouveau 驱动

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

文件最后加入以下内容 (如果没有需要添加)

blacklist nouveau
options nouveau modeset=0

更新使其生效

sudo update-initramfs -u

重启机器

reboot

重启后查看确认

lsmod | grep nouveau

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

安装gcc/cmake

依次执行

sudo apt-get update
sudo apt-get install gcc
sudo apt-get install cmake

查看gcc版本

gcc --version
cmake --version

运行安装文件

输入<font style="background-color:rgb(247, 247, 247);">ls</font>命令查看运行文件

输入<font style="background-color:rgb(247, 247, 247);">chmod -x {文件名}</font>赋予run文件执行权限

输入<font style="background-color:rgb(247, 247, 247);">sh {文件名}</font>运行run文件

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

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

等待程序运行。。。。

安装完成后,如下图

添加自己需要的cuda版本到环境变量, <font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(247, 247, 247);">vim ~/.bashrc</font>,添加以下内容到最后,如:

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

内容输入后,<font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(247, 247, 247);">:wq </font>保存退出,
输入<font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(247, 247, 247);">source ~/.bashrc </font> 更新环境变量使刚刚输入的环境变量生效,输入<font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(247, 247, 247);">nvcc -V </font>查看CUDA版本

输入命令<font style="color:rgba(0, 0, 0, 0.87);background-color:rgb(247, 247, 247);">nvidia-smi</font>查看显卡驱动与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
EOF

systemctl 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。

配置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

### 配置和使用Ubuntu虚拟机中的GPU #### 虚拟环境下的GPU支持概述 虚拟环境中实现GPU加速并非总是简单直接的过程。由于虚拟化层的存在,宿主机上的物理硬件资源需要被适当地映射到虚拟机中以便于客户操作系统能够识别并利用这些资源。对于希望在Ubuntu虚拟机中启用GPU功能的情况来说,这涉及到特定的技术手段和支持条件[^1]。 #### 检查现有的NVIDIA驱动状态 为了确保能够在Ubuntu虚拟机里成功配置GPU,在开始任何新的安装前应该先确认当前系统是否存在已有的NVIDIA驱动版本。可以通过执行如下命令来查询: ```bash lspci | grep -i nvidia ``` 这条指令会列出所有与NVIDIA相关的PCI设备信息,从而帮助判断是否有合适的图形处理单元可用[^3]。 #### 启用GPU直通或共享模式 为了让Ubuntu虚拟机能访问真实的GPU性能,通常有两种方法可以选择:一种是通过VT-d/IOMMU技术实施GPU Passthrough(即GPU透传),让单个虚拟机独占整个GPU;另一种则是采用vGPU方案,允许多台虚拟机共同分担一块或多块GPU资源。前者往往适用于桌面级应用或者游戏场景,而后者更适合数据中心内的大规模机器学习训练任务等场合[^2]。 #### 安装必要的驱动程序和服务包 一旦决定了具体的实施方案之后,则需按照所选路径准备相应的组件。如果是走Passthrough路线,那么除了要保证BIOS/UEFI层面开启了相关选项外,还需要下载匹配的QEMU/KVM补丁集以及OVMF固件文件用于构建兼容性强的虚拟平台框架。而对于vGPU而言,则可能涉及到了解供应商提供的SDK工具链,并遵循其指导完成额外的初始化工作流程。 #### 测试验证GPU是否正常运作 最后一步就是检验经过上述一系列调整后的效果了。可以尝试编译运行一些开源项目比如TensorFlow-GPU作为测试案例来看最终能否顺利调用到预期之外的强大计算能力。当然在此之前也别忘了预先查阅官方文档获取关于目标应用程序的具体依赖关系列表及其最低限度的要求规格说明材料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值