• centos7安装显卡驱动、cuda以及cudnn


    ## 安装准备
    
    1. 前提机器上面有支持CUDA的Nvidia GPU,查看支持CUDA的GPU列表: https://developer.nvidia.com/cuda-gpus
    
    ```sh
     lspci | grep -i nvidia
    ```
    
    服务器使用的是 2204, 2204指的是3090显卡
    
    ```sh
    00:06.0 VGA compatible controller: NVIDIA Corporation Device 2204 (rev a1)
    00:07.0 VGA compatible controller: NVIDIA Corporation Device 2204 (rev a1)
    00:08.0 VGA compatible controller: NVIDIA Corporation Device 2204 (rev a1)
    00:09.0 VGA compatible controller: NVIDIA Corporation Device 2204 (rev a1)
    ```
    
    2. 验证系统是否是受支持的Linux版本
    
    ```shell
    uname -m && cat /etc/redhat-release
    ```
    到这里查看受支持的Linux版本:http://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html#system-requirements
    
    3. 验证系统是否有GCC编译环境
    
    ```sh
    gcc -v
    ```
    
    输出为
    
    ```sh
    使用内建 specs。
    COLLECT_GCC=gcc
    COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
    目标:x86_64-redhat-linux
    配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
    线程模型:posix
    gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
    ```
    没有的话需要先安装GCC,Centos7的最小化安装一般勾选上开发软件都会自动安装GCC
    
    4. 验证系统是否安装了正确的内核头文件和开发包
    
    ```sh
    sudo yum install kernel-devel-$(uname -r) kernel-headers-$(uname -r)
    ```
    
    ## 开始安装
    
    1. 禁用nouveau
    
    nouveau是一个第三方开源的Nvidia驱动,一般Linux安装的时候默认会安装这个驱动。 这个驱动会与Nvidia官方的驱动冲突,在安装Nvidia驱动和和CUDA之前应先禁用nouveau
    
    * 查看系统是否正在使用nouveau
    
    ```
    lsmod | grep nouveau
    ```
    
    * 如果有显示内容,则进行以下的步骤: (Centos7禁用方法, 需要重启服务器)
    
    ```sh
    #新建一个配置文件
    sudo vim /etc/modprobe.d/blacklist-nouveau.conf
    #写入以下内容
    blacklist nouveau
    options nouveau modeset=0
    #保存并退出
    :wq
    #备份当前的镜像
    sudo mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
    #建立新的镜像
    sudo dracut /boot/initramfs-$(uname -r).img $(uname -r)
    #重启
    sudo reboot
    #最后输入上面的命令验证
    lsmod | grep nouveau
    ```
    
    2. 安装驱动
    
    GPU 云服务器正常工作需安装正确的基础设施软件,对 NVIDIA 系列 GPU 而言,有两个层次的软件包需要安装:
    
    * 驱动 GPU 工作的硬件驱动程序。
    * 上层应用程序所需要的库。
    
    若把 NVIDIA GPU 用作通用计算,需要安装 3090 Driver + CUDA。
    
    2.2 rpm 包安装
    
    * 打开 NVIDIA 驱动下载链接 http://www.nvidia.com/Download/Find.aspx(尽量选一个最新的吧)。
    ![cdc85e142ce4c5be9751230576325b57.png](evernotecid://DE6E6267-EF45-4EAD-85F7-BA95E1D4DD97/appyinxiangcom/1971784/ENResource/p218)
    
    * 默认的就是runfile文件`NVIDIA-Linux-x86_64-515.65.01.run`。
    
    * 下载后直接`sh NVIDIA-Linux-x86_64-515.65.01.run`
    
    * 运行nvidia-smi能输出正确信息代表驱动安装成功。
    
    ```sh
    Tue Sep  6 10:05:08 2022
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 515.65.01    Driver Version: 515.65.01    CUDA Version: 11.7     |
    |-------------------------------+----------------------+----------------------+
    | 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 ...  Off  | 00000000:00:06.0 Off |                  N/A |
    | 30%   38C    P0   113W / 350W |      0MiB / 24576MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    |   1  NVIDIA GeForce ...  Off  | 00000000:00:07.0 Off |                  N/A |
    | 30%   40C    P0   116W / 350W |      0MiB / 24576MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    |   2  NVIDIA GeForce ...  Off  | 00000000:00:08.0 Off |                  N/A |
    | 30%   43C    P0   118W / 350W |      0MiB / 24576MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    |   3  NVIDIA GeForce ...  Off  | 00000000:00:09.0 Off |                  N/A |
    | 30%   43C    P0   114W / 350W |      0MiB / 24576MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
    |        ID   ID                                                   Usage      |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+
    ```
    
    3. 安装 CUDA
    CUDA (Compute Unified Device Architecture) 是显卡厂商 NVIDIA 推出的运算平台。 CUDA™ 是一种由 NVIDIA 推出的通用并行计算架构,该架构使 GPU 能够解决复杂的计算问题。 它包含了 CUDA 指令集架构(ISA)以及 GPU 内部的并行计算引擎。 开发人员现在可以使用 C 语言, C++ , FORTRAN 来为 CUDA™ 架构编写程序,所编写出的程序可以在支持 CUDA™ 的处理器上以超高性能运行。GPU 云服务器采用 NVIDIA 显卡,需要安装 CUDA 开发运行环境。
    * CUDA驱动下载:[https://developer.nvidia.com/cuda-downloads?target_os=Linux](https://developer.nvidia.com/cuda-downloads?target_os=Linux)。
    * 选择对应的操作系统和安装包。这里注意,我下载的是最新的11.7的,依据是nvidia-smi的输出CUDA Version: 11.7,你要按照自己的输出安装对应的cuda,要不然有问题。
    * 下载的时候选择`runfile(local)`,然后下面会有安装指南
    
    * 测试是否安装成功
    ```sh
    nvcc -V
    ```
    * 成功的结果
    ```sh
    nvcc: NVIDIA (R) Cuda compiler driver
    Copyright (c) 2005-2022 NVIDIA Corporation
    Built on Wed_Jun__8_16:49:14_PDT_2022
    Cuda compilation tools, release 11.7, V11.7.99
    Build cuda_11.7.r11.7/compiler.31442593_0
    ```
    
    
    4 安装 CUDNN
    
    * [下载 cudnn](https://developer.nvidia.com/rdp/cudnn-archive)(需要注册为开发者方可下载。)
    * 按照[官方安装文档](https://docs.nvidia.com/deeplearning/cudnn/install-guide/index.html)安装对应的文档。
    
    
    ## conda方案
    
    1. conda 安装略过
    
    2. 3090机器的conda安装
     ```
     conda install cudatoolkit=11.7 cudnn=8 
     ```

  • 相关阅读:
    Node.Js编码注意事项
    .NET 7 的 AOT 到底能不能扛反编译?
    量子城域网系列(六):关于量子信道
    python带你制作随机点名系统,超级简单
    2023-9-16 最长上升子序列(二)
    Delphi 开发过程中简单的版本管理与回退(2)
    Nvidia GPU 入门教程之 08 如何在 Python 中使用 Kaggle API,直接从 Kaggle 快速下载数据集
    (附源码)springboot在线考试系统 毕业设计 160935
    《优化接口设计的思路》系列:第十一篇—表格的导入导出接口优化
    JavaScript面试题整理(一)
  • 原文地址:https://blog.csdn.net/u010483897/article/details/126723846