【ubuntu20.04部署RTX4090显卡驱动和CUDA环境】


前言

随着NVIDIA RTX 4090显卡的推出,其强大的计算能力为高性能计算和深度学习任务提供了显著提升。为了充分发挥这一显卡的潜力,安装最新的显卡驱动和CUDA Toolkit至关重要。CUDA(Compute Unified Device Architecture)是NVIDIA为其GPU提供的并行计算平台和编程模型,使得开发者能够在GPU上运行计算密集型应用程序。

在Ubuntu 20.04系统上重新部署RTX 4090显卡驱动和CUDA环境的过程包括以下几个步骤:卸载旧的驱动和CUDA版本、下载和安装最新的显卡驱动、安装CUDA Toolkit,并配置相关的环境变量。这个过程不仅可以解决兼容性问题,还能优化系统性能,确保开发和运行GPU加速应用时的稳定性。

本文将详细介绍每一步的操作,帮助你顺利完成显卡驱动和CUDA环境的重新部署,以实现最佳的计算性能。

一、显卡驱动和CUDA关系

显卡驱动和 CUDA 是两种与计算机显卡相关的重要软件,分别用于硬件控制和并行计算。
显卡驱动:显卡驱动(Graphics Driver) 是一种软件,用于操作系统与显卡之间的桥梁。它的主要作用是:

硬件控制:
    驱动程序让操作系统能够识别和控制显卡的硬件功能,如显示图像、调整显示设置等。
性能优化:
    驱动程序通常包括优化和性能提升的更新,以保证显卡在运行游戏、图形应用或其他任务时能发挥最佳性能。
兼容性:
    更新驱动程序可以确保显卡与最新的操作系统和软件兼容,避免因驱动程序过时而导致的软件或游戏无法正常运行。

显卡驱动程序通常由显卡制造商提供,比如 NVIDIA、AMD 或 Intel,并且需要根据显卡型号和操作系统版本进行匹配安装。
CUDA:CUDA(Compute Unified Device Architecture) 是 NVIDIA 提供的一种并行计算平台和编程模型。它允许开发者利用 NVIDIA 显卡的处理能力进行高性能计算。CUDA 的主要特点包括:

并行计算:
    CUDA 使得开发者能够在显卡的多个处理核心上并行执行计算任务,从而加速计算密集型应用(如科学计算、机器学习和数据处理)。
编程模型:
    CUDA 提供了一套扩展的 C/C++ 编程语言和 API,允许开发者编写能够直接在显卡上执行的代码。这使得显卡不仅用于图形处理,还可以进行复杂的数学运算。
性能提升:
    通过 CUDA,计算任务可以在显卡的高性能并行处理能力上执行,通常比在 CPU 上执行更快。
广泛支持:
    CUDA 支持多种开发工具和库,如 cuBLAS(线性代数库)、cuDNN(深度学习库)等,帮助加速各种应用的开发。

总结:

显卡驱动是使显卡能够正常工作的基础软件,用于控制和优化显卡的图形功能。
CUDA是一个用于高性能并行计算的平台和编程模型,使得开发者能够利用显卡的计算能力进行复杂的计算任务。

二、显卡驱动和CUDA卸载及安装

1.卸载旧的驱动和CUDA版本

(1)卸载显卡驱动及cuda

#删除toolkit:
$ sudo apt-get --purge remove "*cublas*" "cuda*" "nsight*" 
#删除NVIDIA drivers:
$ sudo apt-get --purge remove "*nvidia*"
#删除cuda文件夹(之前下载了cuda11.6/cuda11.8/cuda12.1三个版本)
$ sudo rm -rf /usr/local/cuda*
#更新
$ sudo apt-get update

(2)卸载后查看显卡驱动和cuda:

(base) fzl@CH-AILAB-Robot:~/Documents$ nvidia-smi
Command 'nvidia-smi' not found, but can be installed with:
sudo apt install nvidia-utils-435         # version 435.21-0ubuntu7, or
sudo apt install nvidia-utils-440         # version 440.82+really.440.64-0ubuntu6
sudo apt install nvidia-340               # version 340.108-0ubuntu5.20.04.2
sudo apt install nvidia-utils-390         # version 390.157-0ubuntu0.20.04.1
sudo apt install nvidia-utils-450-server  # version 450.248.02-0ubuntu0.20.04.1
sudo apt install nvidia-utils-470         # version 470.256.02-0ubuntu0.20.04.1
sudo apt install nvidia-utils-470-server  # version 470.256.02-0ubuntu0.20.04.1
sudo apt install nvidia-utils-535         # version 535.183.01-0ubuntu0.20.04.1
sudo apt install nvidia-utils-535-server  # version 535.183.01-0ubuntu0.20.04.1
sudo apt install nvidia-utils-550-server  # version 550.90.07-0ubuntu0.20.04.2
sudo apt install nvidia-utils-418-server  # version 418.226.00-0ubuntu0.20.04.2

(base) fzl@CH-AILAB-Robot:~/Documents$ nvcc --version
Command 'nvcc' not found, but can be installed with:
sudo apt install nvidia-cuda-toolkit

2.下载和安装最新的显卡驱动

可根据提示安装nvidia-utils-535-server 驱动或者安装已下载的其他版本驱动(NVIDIA-Linux-x86_64-535.154.05.run)
安装显卡驱动命令如下:

(base) fzl@CH-AILAB-Robot:~/Documents$ sudo apt install nvidia-utils-535-server
......此处省略安装log,结果如下:
(base) fzl@CH-AILAB-Robot:~/Documents$ nvidia-smi
Tue Sep  3 09:08:04 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.183.01             Driver Version: 535.183.01   CUDA Version: 12.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  NVIDIA GeForce RTX 4090        Off | 00000000:01:00.0  On |                  Off |
|  0%   44C    P8              26W / 450W |    854MiB / 24564MiB |     10%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      1309      G   /usr/lib/xorg/Xorg                          368MiB |
|    0   N/A  N/A      1673      G   /usr/bin/gnome-shell                         63MiB |
|    0   N/A  N/A      1912      G   /usr/local/sunlogin/bin/sunloginclient       19MiB |
|    0   N/A  N/A      2058      G   /usr/local/sunlogin/bin/sunloginclient        6MiB |
|    0   N/A  N/A      2182      G   ...en=24578193121B27EFFB769C2460F9311F       17MiB |
|    0   N/A  N/A      2268      G   ...ures=SpareRendererForSitePerProcess       34MiB |
|    0   N/A  N/A      6834      G   ...sion,SpareRendererForSitePerProcess       93MiB |
|    0   N/A  N/A     27206      G   /usr/lib/firefox/firefox                    210MiB |
+---------------------------------------------------------------------------------------+

安装cuda命令如下:

(base) fzl@CH-AILAB-Robot:~/Documents$ sudo ./cuda_12.1.0_530.30.02_linux.run 
===========
= Summary =
===========

Driver:   Not Selected
Toolkit:  Installed in /usr/local/cuda-12.1/

Please make sure that
 -   PATH includes /usr/local/cuda-12.1/bin
 -   LD_LIBRARY_PATH includes /usr/local/cuda-12.1/lib64, or, add /usr/local/cuda-12.1/lib64 to /etc/ld.so.conf and run ldconfig as root

To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-12.1/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 530.00 is required for CUDA 12.1 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
    sudo <CudaInstaller>.run --silent --driver

Logfile is /var/log/cuda-installer.log

查看cuda安装版本:

(base) fzl@CH-AILAB-Robot:~/Documents$ nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2023 NVIDIA Corporation
Built on Tue_Feb__7_19:32:13_PST_2023
Cuda compilation tools, release 12.1, V12.1.66
Build cuda_12.1.r12.1/compiler.32415258_0

至此,安装过程告一段落…

3.安装过程的其他问题

(1)libcudnn.so.8文件找不到问题

问题描述:


ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory

(myenv_humanoid) fzl@CH-AILAB-Robot:~/Documents/humanoid-gym/humanoid$ find /usr -name "libcudnn.so.8" 找不到文件的目录

具体解决步骤如下:
需要使用以下步骤来安装cudnn库:(参考版本cudnn-linux-x86_64-8.8.0.121_cuda12-archive.tar.xz)

(base) fzl@CH-AILAB-Robot:~/Documents$ tar -xvf cudnn-linux-x86_64-8.8.0.121_cuda12-archive.tar.xz
#进入解压后的目录:
(base) fzl@CH-AILAB-Robot:~/Documents$ cd cudnn-linux-x86_64-8.8.0.121_cuda12-archive/
(base) fzl@CH-AILAB-Robot:~/Documents/cudnn-linux-x86_64-8.8.0.121_cuda12-archive$ ls
include  lib  LICENSE
#复制 cudnn 文件到 CUDA 安装目录:
(base) fzl@CH-AILAB-Robot:~/Documents/cudnn-linux-x86_64-8.8.0.121_cuda12-archive$ sudo cp include/cudnn*.h /usr/local/cuda/include
(base) fzl@CH-AILAB-Robot:~/Documents/cudnn-linux-x86_64-8.8.0.121_cuda12-archive$ sudo cp lib/libcudnn* /usr/local/cuda/lib64
#更新库缓存:
(base) fzl@CH-AILAB-Robot:~/Documents/cudnn-linux-x86_64-8.8.0.121_cuda12-archive$ sudo ldconfig
/sbin/ldconfig.real: /usr/local/cuda-12.1/targets/x86_64-linux/lib/libcudnn_cnn_train.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-12.1/targets/x86_64-linux/lib/libcudnn_cnn_infer.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-12.1/targets/x86_64-linux/lib/libcudnn_ops_infer.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-12.1/targets/x86_64-linux/lib/libcudnn.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-12.1/targets/x86_64-linux/lib/libcudnn_ops_train.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-12.1/targets/x86_64-linux/lib/libcudnn_adv_infer.so.8 is not a symbolic link

/sbin/ldconfig.real: /usr/local/cuda-12.1/targets/x86_64-linux/lib/libcudnn_adv_train.so.8 is not a symbolic link

(base) fzl@CH-AILAB-Robot:~/Documents/cudnn-linux-x86_64-8.8.0.121_cuda12-archive$ 

这样你就完成了 cudnn 的安装,ImportError: libcudnn.so.8: cannot open shared object file: No such file or directory问题解决。

(2)libcupti.so.12文件找不到问题

问题描述:

ImportError: libcupti.so.12: cannot open shared object file: No such file or directory

具体解决步骤如下:

如果安装了 CUDA Toolkit 但找不到 libcupti.so.12 文件,可以尝试以下步骤解决问题:
1、确认文件位置:
查找 libcupti.so.12 文件所在的位置。通常它位于 /usr/local/cuda/lib64 目录下。可以使用以下命令查找:
find /usr/local/cuda -name "libcupti.so.12"
2、检查安装包:
确保你下载并安装了包含 CUPTI 的完整 CUDA Toolkit。某些安装包可能不包含 CUPTI 组件。你可以从 NVIDIA CUDA Toolkit 下载页面 重新下载并安装完整的 CUDA Toolkit。
3、重新安装 CUDA Toolkit:
如果文件确实不存在,尝试重新安装 CUDA Toolkit,确保安装过程中没有错误。使用官方安装包进行全新安装。
https://developer.nvidia.com/cuda-12-1-0-download-archive?target_os=Linux&target_arch=x86_64&Distribution=Ubuntu&target_version=20.04&target_type=runfile_local
Installation Instructions:
$ wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run
$ sudo sh cuda_12.1.0_530.30.02_linux.run
4、检查环境变量:
确保 LD_LIBRARY_PATH 环境变量包含了 CUDA 库路径:
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH
5、更新系统链接:
有时系统链接可能没有正确更新。运行以下命令,确保系统链接了正确的库:
$ sudo ldconfig
完成这些步骤后,libcupti.so.12 应该能被系统找到。如果问题依然存在,可能需要检查 CUDA Toolkit 的安装文档或寻求 NVIDIA 的技术支持。

***关键步骤,确保安装CUDA Toolkit后可以找到libcupti.so.12 文件***
#查找libcupti.so.12 文件目录
fzl@CH-AILAB-Robot:~/Documents/$ sudo find / -name "libcupti.so.12"
[sudo] password for fzl: 
/usr/local/cuda-12.1/extras/CUPTI/lib64/libcupti.so.12
/usr/local/lib/python3.8/dist-packages/nvidia/cuda_cupti/lib/libcupti.so.12
/home/fzl/.local/lib/python3.8/site-packages/nvidia/cuda_cupti/lib/libcupti.so.12
/home/fzl/anaconda3/envs/myenv/lib/python3.8/site-packages/nvidia/cuda_cupti/lib/libcupti.so.12
find: ‘/tmp/.mount_omnivejeCnxP’: Permission denied
find: ‘/run/user/1000/doc’: Permission denied
find: ‘/run/user/1000/gvfs’: Permission denied
#添加libcupti.so.12 文件目录到cuda目录即可
sudo cp /usr/local/cuda-12.1/extras/CUPTI/lib64/libcupti.so.12 /usr/local/cuda/lib64

这样你就解决了 ImportError: libcupti.so.12: cannot open shared object file: No such file or directory问题。

三、安装CUDA Toolkit

linux和windows不同系统重新安装CUDA Toolkit 12.1

具体步骤如下:

1. 卸载现有的CUDA Toolkit
Linux:
查找已安装的CUDA Toolkit:
dpkg -l | grep cuda
或者使用:
rpm -qa | grep cuda
卸载CUDA Toolkit:
使用以下命令卸载CUDA Toolkit(可能需要sudo权限):
sudo apt-get --purge remove 'cuda*'
或者,如果你使用的是RPM包:
sudo yum remove cuda*
还可以通过查找CUDA安装目录并删除相关文件:
sudo rm -rf /usr/local/cuda*

Windows:
打开“控制面板” -> “程序和功能”。
找到CUDA Toolkit相关条目,右击选择“卸载”。
按照提示完成卸载过程。

2. 下载CUDA Toolkit 12.1
访问NVIDIA CUDA Toolkit下载页面https://developer.nvidia.com/cuda-downloads。
选择你的操作系统、体系结构、版本等选项,然后点击“下载”以获取CUDA Toolkit 12.1的安装包。

3. 安装CUDA Toolkit 12.1
Linux:
下载并解压CUDA Toolkit安装包:
tar -xzvf cuda_12.1.0_<your-platform>.tgz
运行安装程序:
sudo sh cuda_12.1.0_<your-platform>.run
安装过程中,你可以选择是否安装驱动程序、工具包、样例等组件。通常,你只需要选择安装“CUDA Toolkit”和“CUDA Samples”。
设置环境变量:
编辑~/.bashrc或~/.zshrc文件,并添加以下行:
export PATH=/usr/local/cuda-12.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH
然后执行:
source ~/.bashrc
Windows:
运行下载的CUDA Toolkit安装程序:
双击安装包并按照提示进行安装。可以选择“自定义”安装以选择需要的组件(通常选择“CUDA Toolkit”)。
设置环境变量:
安装程序通常会自动设置环境变量。如果没有,你可以手动设置:
   右击“此电脑”或“计算机”,选择“属性”。
   点击“高级系统设置”,然后点击“环境变量”。
   在“系统变量”中找到PATH,点击“编辑”。
   添加CUDA的bin和lib路径,通常是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin和C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp。

4. 验证安装
打开一个终端(Linux)或命令提示符(Windows),运行:
nvcc --version
你应该看到CUDA Toolkit 12.1的版本信息。
你也可以编译并运行CUDA样例程序来验证安装是否成功。样例程序通常位于/usr/local/cuda-12.1/samples(Linux)或C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\samples(Windows)。

总结

在Ubuntu 20.04上重新部署RTX 4090显卡驱动和CUDA环境的步骤如下:

卸载旧版本: 清理旧的显卡驱动和CUDA Toolkit,确保没有残留的旧版本干扰新安装。

下载驱动和CUDA Toolkit: 从NVIDIA官方网站下载最新的显卡驱动和CUDA Toolkit 12.1版本。

安装显卡驱动: 使用NVIDIA提供的安装程序或通过apt安装最新的驱动程序,确保驱动与显卡兼容。

安装CUDA Toolkit: 运行CUDA Toolkit的安装程序,选择适当的安装选项,并配置环境变量。

验证安装: 通过检查驱动和CUDA版本,以及编译和运行CUDA样例程序,确保一切正常工作。

这样,你可以确保系统能有效利用RTX 4090的强大计算能力,提供稳定且高效的计算环境。如果在安装过程中遇到问题,可以参考NVIDIA的官方文档。

Ubuntu 20.04 上使用 RTX 3080 和 CUDA 进行 GPU 加速,您需要按照以下步骤进行设置: 1. 首先,确保您的系统已经安装了适当的 NVIDIA 显卡驱动程序。您可以通过以下命令检查当前安装的驱动程序版本: ``` nvidia-smi ``` 如果未安装驱动程序或版本过旧,您可以通过以下命令安装最新的驱动程序: ``` sudo apt-get update sudo apt-get install nvidia-driver-460 ``` 2. 安装 CUDA 工具包。在 Ubuntu 20.04 上,您可以通过以下命令安装 CUDA 11.2 版本: ``` wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600 wget https://developer.download.nvidia.com/compute/cuda/11.2.2/local_installers/cuda-repo-ubuntu2004-11-2-local_11.2.2-460.32.03-1_amd64.deb sudo dpkg -i cuda-repo-ubuntu2004-11-2-local_11.2.2-460.32.03-1_amd64.deb sudo apt-key add /var/cuda-repo-ubuntu2004-11-2-local/7fa2af80.pub sudo apt-get update sudo apt-get install cuda ``` 3. 配置环境变量。打开您的 `~/.bashrc` 文件,并添加以下行到文件末尾: ``` export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 保存文件后,运行以下命令使更改生效: ``` source ~/.bashrc ``` 4. 验证安装。您可以通过运行以下命令来验证 CUDA 是否正确安装: ``` nvcc --version ``` 如果安装成功,您应该能够看到 CUDA 版本信息。 现在,您的 Ubuntu 20.04 系统应该已经配置好了使用 RTX 3080 和 CUDA 进行 GPU 加速。您可以在开发环境中使用 CUDA 编程或在支持 CUDA 的应用程序中利用 GPU 加速。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值