本文介绍如何创建配备NVIDIA GPU的实例并安装相关驱动,配备NVIDIA GPU的实例必须安装驱动才可以使用GPU。

前提条件

完成创建ECS实例的准备工作:
  1. 创建账号,以及完善账号信息。
    • 注册阿里云账号,并完成实名认证。具体操作,请参见阿里云账号注册流程
    • 开通按量付费ECS资源时,您的阿里云账户余额(即现金余额)和代金券的总值不得小于100.00元人民币。具体充值操作,请参见如何充值
  2. 阿里云提供一个默认的专有网络VPC,如果您不想使用默认专有网络VPC,可以在目标地域创建一个专有网络和交换机。具体操作,请参见搭建IPv4专有网络
  3. 阿里云提供一个默认的安全组,如果您不想使用默认安全组,可以在目标地域创建一个安全组。具体操作,请参见创建安全组
如果您需要使用其它扩展功能,也需要完成相应的准备工作,例如:
  • 如果创建Linux实例时要绑定SSH密钥对,需要在目标地域创建一个SSH密钥对。具体操作,请参见创建SSH密钥对
  • 如果要设置自定义数据,需要准备实例自定义数据。具体操作,请参见ECS实例自定义数据概述
  • 如果要为ECS实例关联某个角色,需要创建、授权实例RAM角色,并将其授予ECS实例。具体操作,请参见授予实例RAM角色

操作步骤

本文重点介绍在控制台创建配备NVIDIA GPU的实例时需要注意的配置。关于如何完成其他通用配置,请参见使用向导创建实例
说明 如果调用RunInstances接口创建实例,只能通过UserData参数上传自动安装脚本。关于如何准备自动安装脚本,请参见自动安装脚本说明
  1. 前往实例创建页
  2. 完成基础配置。
    说明 GPU实例在特定地域和可用区售卖,您可以前往ECS实例可购买地域页面查看。选择您需要的付费模式,输入实例规格名称搜索即可。
    需要注意的配置项如下表所示。
    配置项 说明
    实例 定位到异构计算GPU/FPGA/NPU > GPU虚拟化型或者异构计算GPU/FPGA/NPU > GPU计算型,然后选择实例规格。
    实例规格影响支持安装的驱动类型,GPU虚拟化型(vgn6i、vgn5i)实例规格配备分片虚拟化后的虚拟GPU,仅支持安装GRID驱动,GPU计算型实例规格支持安装GPU驱动和GRID驱动。
    • GPU驱动:用于驱动物理GPU。
    • GRID驱动:用于获得图形加速能力。
    镜像 镜像影响GPU驱动和GRID驱动的安装方式。更多信息,请参见表 1
    驱动安装方式如下表所示。
    表 1. 驱动安装方式
    实例规格 驱动类型 驱动安装方式
    GPU虚拟化型(vgn6i、vgn5i) GRID驱动 不同的镜像类型会影响GRID驱动的安装方式,具体如下所示:
    • Windows:您可以在镜像市场中搜索关键词GRID,并选用预装GRID驱动的收费镜像,例如Windows Server 2019 中文版预装GRID驱动镜像Windows Server 2016 中文版预装GRID驱动。这些收费镜像带有已经激活License的GRID驱动,您无需再手动安装GRID驱动。
    • Linux:您需要自行向NVIDIA购买GRID License,并在创建实例后手动安装GRID驱动并激活License,具体步骤请参见在GPU虚拟化型实例中安装GRID驱动(Linux)
    GPU计算型 GPU驱动 您可以通过以下方式安装GPU驱动:
    • 配置自动安装GPU驱动。具体操作,请参见配置自动安装脚本
      说明 仅部分Linux公共镜像支持自动安装GPU驱动。如果您使用共享镜像和自定义镜像,请自行安装GPU驱动。
    • 在镜像市场选择预装了GPU驱动和相关软件的镜像。镜像市场提供经严格审核的优质镜像,预装操作系统、应用环境和各类软件,无需配置即可一键部署云服务器。
      例如,以下用于深度学习和机器学习的镜像:
      • 机器学习:您可以选择预装RAPIDS加速库的镜像,在镜像市场搜索关键字RAPIDS即可,目前仅支持Ubuntu16.04。该镜像中预装了NVIDIA RAPIDS机器学习加速库以及TensorFlow、Keras开源深度学习框架,您可以使用RAPIDS加速数据准备、机器学习和图像分析任务,并结合深度学习框架进行深度学习训练和推理。更多信息,请参见在GPU实例上使用RAPIDS加速图像搜索任务
      • 深度学习:您可以选择NVIDIA GPU Cloud VM Image。该镜像预装了针对NVIDIA GPU优化的深度学习框架和HPC应用程序容器的优化环境。更多信息,请参见在GPU实例上部署NGC环境
    • 在创建实例后手动安装GPU驱动。具体操作,请参见手动安装GPU驱动
    GPU计算型 GRID驱动 不同的镜像类型会影响GRID驱动的安装方式,如下所示:
    • Windows:您可以在镜像市场中搜索关键词GRID,并选用预装GRID驱动的收费镜像,例如Windows Server 2019 中文版预装GRID驱动镜像Windows Server 2016 中文版预装GRID驱动。这些收费镜像带有已经激活License的GRID驱动,您无需再手动安装GRID驱动。
    • Linux:您需要自行向NVIDIA购买GRID License,并在创建实例后手动安装GRID驱动并激活License,具体步骤请参见在GPU虚拟化型实例中安装GRID驱动(Linux)
  3. 完成网络和安全组配置。
    需要注意的配置项如下表所示。
    配置项 说明
    网络 选择专有网络
    公网带宽 如果您在基础配置页面中选择了Windows 2008 R2及以下版本的镜像,在GPU驱动安装完成后,您将无法通过管理终端连接实例,连接实例时会始终显示黑屏或停留在启动界面。您可以在此处选中分配公网IPv4地址复选框,或者在创建实例后绑定弹性公网IP,以便通过其他协议连接实例,例如RDP(Windows自带的远程连接)、PCOIP、XenDesktop HDX 3D等。
    说明 RDP不支持DirectX、OpenGL等应用,您需要自行安装VNC服务和客户端。
  4. 完成系统配置。
    需要注意的配置项如下表所示。
    配置项 说明
    登录凭证 建议选择密钥对自定义密码。如果您选择创建后设置,通过管理终端连接实例前必须先绑定SSH密钥对或者重置密码,然后重启实例使修改生效。如果此时GPU驱动尚未安装完成,重启操作会导致安装失败。
    实例自定义数据 实例创建成功后首次启动时,cloud-init会自动执行实例自定义数据区域中输入的脚本。
    • 如果您在基本配置页面中选择了安装GPU驱动、AIACC-Training、AIACC-Inference,在该区域会显示自动安装脚本的内容。
    • 如果您没有在基本配置页面中选择安装GPU驱动、AIACC-Training、AIACC-Inference,也可以在该区域手动输入自动安装脚本。关于如何准备自动安装脚本,请参见自动安装脚本说明
  5. 根据需要完成分组设置并确认订单,完成创建配备NVIDIA GPU的实例。
    如果您在实例自定义数据区域中输入了自动安装脚本,实例启动后会自动安装GPU驱动、AIACC-Training、AIACC-Inference。安装完成后实例会自动重启,然后GPU驱动才能正常工作。
    说明 GPU驱动在Persistence Mode下工作更稳定。自动安装脚本会自动开启GPU驱动的Persistence Mode,并将该设置添加到Linux系统服务中,开机自动启动服务,确保实例重启后还能默认开启Persistence Mode。
    自动安装耗时受不同实例规格的内网带宽和CPU核数的影响,约10~20分钟。您可以远程连接实例查看安装过程,也可以在安装完成后查看安装日志/root/auto_install/auto_install.log。安装过程中的显示效果如下表所示。
    安装过程 显示效果
    正在安装 显示安装进度条。
    安装成功 安装结果提示ALL INSTALL OK
    安装失败 安装结果提示INSTALL FAIL
    注意 在安装过程中无法使用GPU,请勿对实例进行任何操作,也不要安装其它GPU相关软件,避免自动安装失败导致实例不可用。

配置自动安装脚本

在控制台创建实例时,您可以在基本配置页面的镜像区域选择是否安装GPU驱动(会同时安装GPU驱动、CUDA、cuDNN库)、AIACC-Training、AIACC-Inference。select-autoinstall
GPU驱动、AIACC-Training、AIACC-Inference的说明如下:
  • GPU驱动用于驱动物理GPU,配合CUDA、cuDNN库可以高效地使用GPU。如果是新业务系统,建议选择最新版本的GPU驱动、CUDA、cuDNN库,可选版本如下表所示。
    CUDA GPU驱动 cuDNN 支持的公共镜像版本(仅支持自营镜像) 支持的实例规格
    11.0.2 450.80.02 8.0.4
    • Alibaba Cloud Linux 2
    • Ubuntu 20.04、18.04、16.04
    • Centos 8.x、7.x
    • gn6v、gn6i、gn6e、gn5、gn5i
    • ebmgn7、ebmgn6v、ebmgn6i、ebmgn6e、ebmgn5i
    10.2.89
    • 450.80.02
    • 440.64.00
    • 8.0.4
    • 7.6.5
    • Alibaba Cloud Linux 2
    • Ubuntu 18.04、16.04
    • Centos 8.x、7.x、6.x
    • gn6v、gn6i、gn6e、gn5、gn5i
    • ebmgn6v、ebmgn6i、ebmgn6e、ebmgn5i
    10.1.168
    • 450.80.02
    • 440.64.00
    • 8.0.4
    • 7.6.5
    • 7.5.0
    • Ubuntu 18.04、16.04
    • Centos 7.x、6.x
    • gn6v、gn6i、gn6e、gn5、gn5i
    • ebmgn6v、ebmgn6i、ebmgn6e、ebmgn5i
    10.0.130
    • 450.80.02
    • 440.64.00
    • 7.6.5
    • 7.5.0
    • 7.4.2
    • 7.3.1
    • Ubuntu 18.04、16.04
    • Centos 7.x、6.x
    • gn6v、gn6i、gn6e、gn5、gn5i
    • ebmgn6v、ebmgn6i、ebmgn6e、ebmgn5i
    9.2.148
    • 450.80.02
    • 440.64.00
    • 390.116
    • 7.6.5
    • 7.5.0
    • 7.4.2
    • 7.3.1
    • 7.1.4
    • Ubuntu 16.04
    • Centos 7.x、6.x
    • gn6v、gn6e、gn5、gn5i
    • ebmgn6v、ebmgn6e、ebmgn5i
    9.0.176
    • 450.80.02
    • 440.64.00
    • 390.116
    • 7.6.5
    • 7.5.0
    • 7.4.2
    • 7.3.1
    • 7.1.4
    • 7.0.5
    • Ubuntu 16.04
    • Centos 7.x、6.x
    • SUSE 12sp2
    • gn6v、gn6e、gn5、gn5i
    • ebmgn6v、ebmgn6e、ebmgn5i
    8.0.61
    • 450.80.02
    • 440.64.00
    • 390.116
    • 7.1.3
    • 7.0.5
    • Ubuntu 16.04
    • Centos 7.x、6.x
    • gn5、gn5i
    • ebmgn5i
    说明 如果您在实例创建完成后更换操作系统,请确保使用支持自动安装GPU驱动的镜像,避免自动安装失败。
  • AIACC-Training是阿里云自研的AI加速器,支持统一加速AI主流计算框架TensorFlow、PyTorch、MxNet和Caffe,可以显著提升训练性能。更多信息,请参见自动安装AIACC-Training(AIACC训练加速)
    说明 CentOS 8、CentOS 6、SUSE Linux、Alibaba Cloud Linux暂时不支持安装AIACC-Training。
  • AIACC-Inference是阿里云自研的AI加速器,支持统一加速AI主流计算框架TensorFlow和可导出ONNX格式的框架,可以显著提升推理性能。更多信息,请参见自动安装AIACC-Inference(AIACC推理加速)
    说明 CentOS 8、CentOS 6、SUSE Linux、Alibaba Cloud Linux暂时不支持安装AIACC-Inference。
如果您在基本配置页面中选择了安装GPU驱动、AIACC-Training、AIACC-Inference,在系统配置页面的实例自定义数据区域会显示自动安装脚本的内容。实例创建成功后首次启动时,cloud-init会自动执行该自动安装脚本。autoinstall-script
说明 如果您没有在基本配置页面中选择安装GPU驱动、AIACC-Training、AIACC-Inference,也可以在系统配置页面手动输入自动安装脚本。关于如何准备自动安装脚本,请参见自动安装脚本说明

自动安装脚本说明

自动安装脚本已更新至v3.3,最新版本的自动安装脚本具有以下优势:
  • 提供最新版本的GPU驱动、CUDA、cuDNN库。
  • 连接实例后显示安装过程。
自动安装脚本的内容如下:
#!/bin/sh

#Please input version to install
IS_INSTALL_AIACC_TRAIN=""
IS_INSTALL_AIACC_INFERENCE=""
DRIVER_VERSION=""
CUDA_VERSION=""
CUDNN_VERSION=""
IS_INSTALL_RAPIDS="FALSE"

INSTALL_DIR="/root/auto_install"

#using .deb to install driver and cuda on ubuntu OS
#using .run to install driver and cuda on ubuntu OS
auto_install_script="auto_install_v3.3.sh"

script_download_url=$(curl http://100.100.100.200/latest/meta-data/source-address | head -1)"/opsx/ecs/linux/binary/script/${auto_install_script}"
echo $script_download_url

mkdir $INSTALL_DIR && cd $INSTALL_DIR
wget -t 10 --timeout=10 $script_download_url && sh ${INSTALL_DIR}/${auto_install_script} $DRIVER_VERSION $CUDA_VERSION $CUDNN_VERSION $IS_INSTALL_AIACC_TRAIN $IS_INSTALL_AIACC_INFERENCE $IS_INSTALL_RAPIDS
说明 自动安装脚本使用.run安装包方式安装GPU驱动等模块。
使用自动安装脚本时需要修改参数指定GPU驱动、CUDA、cuDNN库的版本,以及是否安装AIACC-Training和AIACC-Inference。
  • 如果安装AIACC-Training,则将IS_INSTALL_AIACC_TRAIN的值设置为TRUE,否则设置为FALSE
  • 如果安装AIACC-Inference,则将IS_INSTALL_AIACC_INFERENCE的值设置为TRUE,否则设置为FALSE
示例如下:
IS_INSTALL_AIACC_TRAIN="FALSE"
IS_INSTALL_AIACC_INFERENCE="FALSE"
DRIVER_VERSION="440.64.00"
CUDA_VERSION="10.2.89"
CUDNN_VERSION="8.0.4"