在GPU虚拟化型实例中安装GRID驱动(Linux)

更新时间:
复制为 MD 格式

AI等通用计算业务场景或者OpenGL、Direct3D、云游戏等图形加速场景下,安装了GRID驱动的GPU可有效发挥高性能计算能力,或提供更流畅的图形显示效果。本文为您介绍通过云助手快速安装GRID驱动的方法。

说明

使用云助手安装GRID驱动前,建议您提前了解云助手相关内容。具体信息,请参见云助手概述。创建GPU实例时系统会默认预装云助手插件。

适用实例

Linux系统GPU虚拟化型实例规格sgn8ia、vgn6i-vwsvgn7i-vwssgn7i-vws支持通过云助手安装GRID驱动,更多信息,请参见GPU虚拟化型(vgn/sgn系列)。该类实例支持安装的GRID驱动和CUDA版本如下所示:

实例规格族

选择的公共镜像版本

NVIDIA GRID驱动版本

CUDA版本

sgn8ia

  • Alibaba Cloud Linux 2/3

  • Ubuntu 22.04/20.04/18.04

  • CentOS 8.x/7.x

535.183.06

12.2

vgn6i-vws、

vgn7i-vws、sgn7i-vws

  • Alibaba Cloud Linux 2/3

  • Ubuntu 22.04/20.04/18.04

  • CentOS 8.x/7.x

470.256.03

11.4

重要

Linux系统GPU计算型实例规格(例如gn7i、gn6i、ebmgn7i、ebmgn6i等)无需安装GRID驱动,仅使用NVIDIA官网驱动即可支持图形加速功能。更多信息,请参见GPU计算型实例

操作步骤

  1. 登录ECS管理控制台

  2. 在左侧导航栏,选择运维与监控 > 云助手

  3. 在页面左侧顶部,选择目标资源所在的地域。

  4. ECS实例页签下的实例列表,选择目标实例,单击对应操作栏下的执行命令

  5. 创建执行命令面板的命令信息区域,完成参数配置。

    主要参数配置项如下所示,其他参数保持默认。更多信息,请参见命令参数(控制台操作)

    重要

    参数取值必须按照下文提供的取值来设定,否则可能会导致云助手执行失败。

    • 命令类型:选择Shell

    • 命令内容:粘贴如下命令。有关Shell命令的示例,请参见查看实例系统配置

      • 适用于sgn8ia实例的云助手命令:

        if acs-plugin-manager --list --local | grep gpu_grid_driver_install > /dev/null 2>&1
        then
            acs-plugin-manager --remove --plugin gpu_grid_driver_install
        fi
        acs-plugin-manager --exec --plugin gpu_grid_driver_install
      • 适用于vgn6i-vwsvgn7i-vwssgn7i-vws实例的云助手命令:

        if acs-plugin-manager --list --local | grep grid_driver_install > /dev/null 2>&1
        then
            acs-plugin-manager --remove --plugin grid_driver_install
        fi
        acs-plugin-manager --exec --plugin grid_driver_install
    • 超时时间:命令执行超时时间。当执行命令的任务超时后,云助手将强制终止任务进程。取值:600

      说明

      超时时间仅支持设置为正整数,单位为秒,取值范围:10~86,400秒(24小时)。

  6. 单击执行,通过云助手命令安装GRID驱动。

    执行完成后,您可以在执行详情页查看执行结果 。

    重要

    如果实例已安装了其他版本的GRID驱动,通过云助手会自动卸载当前版本GRID驱动,并重新安装最新的GRID驱动。

    执行状态显示为成功执行ExitCode0,日志末行输出 install gpu driver done,表示 GPU 驱动安装成功。

  7. 远程连接GPU实例。

    具体操作,请参见使用Workbench登录Linux实例

  8. 执行以下命令,查看GRID驱动是否安装成功。

    nvidia-smi

    回显结果显示如下,表示已成功升级或安装GRID驱动。

    [root@xxx ~]# nvidia-smi
    Tue Jun  4 13:58:43 2024
    +-----------------------------------------------------------------------------+
    | NVIDIA-SMI 470.239.06    Driver Version: 470.239.06    CUDA Version: 11.4   |
    |-------------------------------+----------------------+----------------------+
    | 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 A10-4Q       On   | 00000000:00:07.0 Off |                  N/A |
    | N/A   N/A    P0    N/A /  N/A |    128MiB /  3932MiB |      0%      Default |
    |                               |                      |                  N/A |
    +-------------------------------+----------------------+----------------------+
    +-----------------------------------------------------------------------------+
    | Processes:                                                                  |
    |  GPU   GI   CI        PID   Type   Process name              GPU Memory     |
    |        ID   ID                                               Usage          |
    |=============================================================================|
    |  No running processes found                                                 |
    +-----------------------------------------------------------------------------+

测试验证

本文以Ubuntu 18.04 64位操作系统为例,使用GLX测试程序验证安装GRID驱动后的图形化加速效果。

  1. 准备图形化测试环境。

    1. 执行以下命令,安装x11vnc。

      apt-get install x11vnc
    2. 执行lspci | grep NVIDIA命令,查询GPU BusID。

      本示例中,查询到的GPU BusID00:07.0

    3. 配置X Server环境并重启。

      1. 执行nvidia-xconfig --enable-all-gpus --separate-x-screens命令。

      2. 编辑/etc/X11/xorg.conf,在Section "Device"段添加GPU BusID,如本示例中为BusID "PCI:0:7:0"执行命令后,生成的X.org配置文件中需确认 BusID 字段与实际GPUPCI总线地址一致。

        Section "Device"
            Identifier    "Device0"
            Driver        "nvidia"
            VendorName    "NVIDIA Corporation"
            BoardName     "Tesla P4"
            BusID         "PCI:0:7:0"
        EndSection
      3. 执行reboot命令重启系统。

  2. 执行以下命令,安装GLX测试程序。

    apt-get install mesa-utils                    
  3. 执行startx命令,启动X Server。

    • 如果没有startx命令,执行apt-get install xinit命令安装。

    • startx启动时可能会提示hostname: Name or service not known。这个提示不会影响X Server启动。您可以执行hostname命令查询主机名后,再修改/etc/hosts文件,将127.0.0.1后的hostname改为本机的hostname。

      root@iZxxxZ:~# startx
      hostname: Name or service not known
      xauth: (stdin):1:  bad display name "iZxxxZ:1" in "add" command
  4. 开启一个新的SSH客户端终端,执行以下命令,启动x11vnc。

    x11vnc -display :1

    如果看到如下所示的信息,表示x11vnc已经成功启动。此时,您能通过VNC ViewerVNC远程连接软件连接实例。

    The VNC desktop is:      localhost:0
    PORT=5900
  5. 登录ECS管理控制台,在实例所在安全组中添加安全组规则,允许TCP 5900端口的入方向访问。

    具体操作,请参见添加安全组规则

  6. 在本地主机上,使用VNC ViewerVNC远程连接软件,通过实例公网IP地址:5900连接实例,进入KDE桌面。

  7. 使用glxinfo命令查看当前GRID驱动支持的配置。

    1. 开启一个新的SSH客户端终端。

    2. 执行export DISPLAY=:1命令。

    3. 执行glxinfo -t命令,列出当前GRID驱动支持的配置。

  8. 按以下步骤使用glxgears命令测试GRID驱动。

    1. KDE桌面上,右键单击桌面,并选择Run Command

    2. 执行glxgears命令,启动齿轮图形测试程序。

      如果出现如下图所示的窗口,表明GRID驱动正常工作。驱动正常.png

相关文档