Ubuntu 配置 CUDA

因为已经配了很多次环境了,每次都要重新搜索,所以索性记录一个完整过程。

基本信息查询

查看显卡型号:

1
lspci | grep -i vga 

查看内核版本:

1
cat /proc/version

查看系统架构:

1
arch

重装 NVIDIA 驱动

该电脑在开机时会显示如下内容:

1
[FAILED] Failed to start NVIDIA Persistence Daemon.

并且在终端中执行:apt-get upgrade 会出现NVIDIA驱动的问题,因此我选择重新安装NVIDIA驱动。

彻底卸载NVIDIA驱动程序

使用以下命令彻底卸载所有NVIDIA相关的包:

1
2
3
sudo apt-get purge nvidia-cuda*
sudo apt-get purge nvidia-*
sudo apt-get purge remove "*cublas*" "cuda*"

下载NVIDIA驱动

前往官方网站下载:NVIDIA官网

根据查询的信息选择正确的显卡型号、Linux操作系统和系统架构,下载对应的驱动程序。

安装NVIDIA驱动

在文件下载路径中打开终端,执行以下命令进行驱动安装,之后会进入图形化界面,全部选择 yes / ok 即可。

1
sudo sh cuda_12.4.0_550.54.14_linux.run

后面的内容需要替换为下载的驱动文件名。

检查是否安装成功

执行以下命令,该命令用于管理和监控NVIDIA GPU设备。

1
nvidia-smi

若出现如下信息,则表示安装成功,同时可以看到CUDA版本号为12.4。

安装CUDA

查看gcc版本

下载前需要确保已安装gcc,可以执行以下命令查看gcc版本,并在官网查看系统支持的gcc版本。

1
gcc -v

安装CUDA

CUDA Toolkit Archive中选择对应版本的CUDA。

之后选择对应的命令进行安装,我直接选择的 deb(network) 方式,依次在终端运行下列命令即可。

配置环境变量

  • 切换回home目录:

    1
    cd ~
  • 修改 .bashrc 文件:

    1
    vim .bashrc 
  • 进入.bashrc文件后,按键盘E键,进入编辑模式,在末尾添加:

    1
    2
    export PATH="/usr/local/cuda-12.4/bin:$PATH"
    export LD_LIBRARY_PATH="/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH"

    cuda的版本号需要替换成自己安装的。

  • 按ESC键退出编辑,并输入 :wq 保存并退出。

  • 应用生效

    1
    source .bashrc

查看CUDA版本

1
nvcc -V

安装cuDNN

下载cuDNN

cuDNN Archive 中选择需要版本的 cuDNN,并下载系统类型对应的 Tar 包。

安装cuDNN

之后在下载路径中参考官方文档进行安装。

1
2
3
4
5
tar -xvf cudnn-linux-x86_64-8.9.7.29_cuda12-archive.tar.xz

sudo cp cudnn-linux-x86_64-8.9.7.29_cuda12-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-linux-x86_64-8.9.7.29_cuda12-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

其中的 tar.xz 文件名及解压后的文件夹名需要替换为自己的。

检查是否安装成功

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

安装PyTorch

首先切换至需要安装PyTorch的conda环境中。

安装PyTorch

PyTorch官网 中选择对应版本的进行下载。

检查是否安装成功

在python中执行以下命令:

1
2
3
4
5
import torch
torch.cuda.current_device()
torch.cuda.device_count()
torch.cuda.get_device_name(0)
torch.cuda.is_available()


参考资料:

查看Linux系统架构的命令,查看linux系统是哪种架构

Linux下安装NVIDIA显卡驱动

ubuntu22 安装 cuda12+cudnn8+pytorch-gpu