本文适用于仅需要进行深度学习、AI等非图形计算的通用计算业务场景,该场景推荐您使用支持配备GPU驱动的GPU计算型实例。本文为您提供在创建Linux操作系统的GPU计算型实例时,配置自动安装GPU驱动的详细操作指导。
背景信息
- 如果您需要购买Windows操作系统的实例及GPU驱动,请购买未配备驱动的GPU实例后再手动安装驱动,具体操作,请参见创建未配备驱动的GPU实例和在GPU计算型实例中安装GPU驱动(Windows)。
- 如果在公共镜像中没有您需要的Linux操作系统或版本,请您先创建未配备驱动的普通GPU实例,再前往NVIDIA官网购买GPU驱动并手动安装。具体操作,请参见创建未配备驱动的GPU实例和在GPU计算型实例中安装GPU驱动(Linux)。
- 如果您需要使用共享镜像和自定义镜像,请自行安装GPU驱动。
不同场景适用的驱动类型和安装方式有所不同,更多信息,请参见NVIDIA驱动安装指引。
准备工作
- 注册阿里云账号,并完善账号信息。
- 前往实例创建页。
操作流程
步骤1:完成基础配置
基础配置包括购买实例的基础需求(付费模式、地域可用区)以及一台实例所需的基础资源(实例规格、镜像、存储)。完成基础设置后,单击下一步:网络和安全组设置。
- 选择付费模式。
- 选择地域及可用区。选择距离近的地域可以降低网络时延,实例创建完成后不支持更改地域和可用区。更多信息,请参见地域和可用区。
- 选择实例规格并进行相关配置。
- 定位到异构计算架构下的GPU计算型,或者弹性裸金属服务器架构下的GPU型,然后选择实例规格。说明
- 可选的实例规格和地域等因素有关,您可以前往ECS实例可购买地域查看实例的可购情况。
- 如果您有特定的配置需求,例如需要挂载多张弹性网卡、使用ESSD云盘、使用本地盘等,请确认实例规格是否支持。关于实例规格的特点、适用场景、指标数据等信息,请参见实例规格族。
- 如果您需要针对特定场景购买实例,可以查看场景化选型页签中的推荐信息,例如适用于AI机器学习等场景的GPU实例规格。
- 在当前选择实例后确认所选实例规格信息。如果您需要体验阿里云推出的集群极速部署工具FastGPU,帮助您将人工智能计算任务一键部署在阿里云的IaaS资源上,可以单击FastGPU极速创建GPU集群>,前往阿里云开发者实验室,通过三个训练场景中的应用实验进行学习与体验。FastGPU的更多信息,请参见什么是集群极速部署工具FastGPU。
- 如果选择付费模式为抢占式实例,配置使用时长和上限价格。使用时长指抢占式实例的保护期,超出保护期后可能因市场价格变化或实例规格库存不足而自动释放实例。使用时长选项说明如下表所示。
抢占式实例使用时长 说明 设定使用实例1小时 抢占式实例创建后有1小时保护期,在保护期内不会被自动释放。 无确定使用时长 抢占式实例创建后没有保护期,但比有保护期的抢占式实例更优惠。 上限价格选项说明如下表所示。单台实例规格上限价 说明 使用自动出价 始终使用实例规格的实时市场价格,该市场价格不会超过对应按量付费实例的价格。使用自动出价可以避免抢占式实例因实时市场价格超过上限被自动释放,但不能避免因实例规格的库存不足被自动释放。 设置单台上限价 自行输入明确的价格上限,实例规格的实时市场价格超出该上限或者库存不足时,抢占式实例都会被自动释放。 - 配置购买实例的数量。使用向导单次最多购买100台实例。此外,您持有的实例数量不能超过配额,具体配额以页面显示为准。更多信息,请参见查看和提升实例配额。
- 定位到异构计算架构下的GPU计算型,或者弹性裸金属服务器架构下的GPU型,然后选择实例规格。
- 选择镜像。
- 在镜像区域的公共镜像中,选择所需的Linux操作系统及版本。
- 选中安装GPU驱动,根据自身业务场景,判断是否需要选中AIACC训练加速和AIACC推理加速。然后再选择对应的CUDA版本、Driver版本和cuDNN版本。说明 如果您选择了超级计算集群sccgn7ex实例规格族,那么还需要根据自身业务,选择是否自动安装RDMA软件栈。GPU驱动、RDMA软件栈、AIACC训练加速以及AIACC推理加速的说明如下:
- GPU驱动用于驱动物理GPU,配合CUDA、cuDNN库可以高效地使用GPU。安装GPU驱动会同时安装GPU驱动、CUDA和cuDNN库。并且仅部分Linux公共镜像支持自动安装GPU驱动。可选版本如下表所示:
说明 如果是新业务系统,建议选择最新版本的GPU驱动、CUDA、cuDNN库。
CUDA版本 Driver版本 cuDNN版本 支持的公共镜像版本(仅支持自营镜像) 支持的实例规格 11.4.1 470.82.01 8.2.4 - Alibaba Cloud Linux 2、Alibaba Cloud Linux 3
- Ubuntu 20.04、18.04、16.04
- Centos 8.x、7.x
- Debian 10.10
说明 Debian 10.10版本仅支持超级计算集群sccgn7ex。
- gn7i、gn7e、gn6v、gn6i、gn6e、gn5、gn5i
- ebmgn7、ebmgn7i、ebmgn7e、ebmgn6v、ebmgn6i、ebmgn6e、ebmgn5i
- sccgn7ex
11.2.2 460.91.03 8.1.1 - Alibaba Cloud Linux 2、Alibaba Cloud Linux 3
- Ubuntu 20.04、18.04、16.04
- Centos 8.x、7.x
- gn7、gn7i、gn7e、gn6v、gn6i、gn6e、gn5、gn5i
- ebmgn7、ebmgn7i、ebmgn7e、ebmgn6v、ebmgn6i、ebmgn6e、ebmgn5i
11.0.2 460.91.03 - 8.1.1
- 8.0.4
- Alibaba Cloud Linux 2
- Ubuntu 20.04、18.04、16.04
- Centos 8.x、7.x
- gn7、gn7e、gn6v、gn6i、gn6e、gn5、gn5i
- ebmgn7、ebmgn7e、ebmgn6v、ebmgn6i、ebmgn6e、ebmgn5i
10.2.89 460.91.03 - 8.1.1
- 8.0.4
- 7.6.5
- Alibaba Cloud Linux 2
- Ubuntu 18.04、16.04
- Centos 8.x、7.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
- 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
- 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
- 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
- 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
- gn5、gn5i
- ebmgn5i
说明 如果您在实例创建完成后需要更换操作系统,请确保使用支持自动安装GPU驱动的镜像,避免导致自动安装失败。 - RDMA软件栈
为进一步优化神龙架构GPU服务器的网络性能,阿里云推出了GPU计算型超级计算集群实例规格族,即sccgn系列实例。该系列机型具备了超强的计算能力和网络通信能力,其中sccgn7ex实例规格族支持RDMA软件栈的自动安装,方便您的业务使用GPUDirect RDMA功能。更多信息,请参见sccgn系列实例使用说明。
- AIACC-Training是阿里云自研的AI加速器,支持统一加速AI主流计算框架TensorFlow、PyTorch、MxNet和Caffe,可以显著提升训练性能。更多信息,请参见神龙AI训练加速引擎AIACC-Training(AIACC训练加速)。
说明 CentOS 6、SUSE Linux、Alibaba Cloud Linux暂时不支持安装AIACC-Training。
- AIACC-Inference是阿里云自研的AI加速器,支持统一加速AI主流计算框架TensorFlow和可导出ONNX格式的框架,可以显著提升推理性能。更多信息,请参见神龙AI推理加速引擎AIACC-Inference(AIACC推理加速)。
说明 CentOS 6、SUSE Linux、Alibaba Cloud Linux暂时不支持安装AIACC-Inference。
- GPU驱动用于驱动物理GPU,配合CUDA、cuDNN库可以高效地使用GPU。安装GPU驱动会同时安装GPU驱动、CUDA和cuDNN库。并且仅部分Linux公共镜像支持自动安装GPU驱动。可选版本如下表所示:
- 选择存储并进行相关配置。实例通过添加系统盘、数据盘和共享盘NAS获得存储能力,云服务器ECS提供了云盘和本地盘满足不同场景的需求。云盘可以用作系统盘和数据盘,包括ESSD云盘、SSD云盘、高效云盘等类型。更多信息,请参见云盘概述。说明 随实例一起创建的云盘和实例的付费模式相同。本地盘只能用作数据盘,如果实例规格配备了本地盘(例如本地SSD型、大数据型等),页面中会显示本地盘的信息。更多信息,请参见本地盘。说明 不支持自行为实例挂载本地盘。
- 选择系统盘。系统盘用于安装操作系统,默认容量为40 GiB,但实际可设置的最低容量和镜像类型有关,如下表所示。
镜像 系统盘容量范围(GiB) Linux(不包括CoreOS和Red Hat) [max{20, 镜像文件大小}, 500] FreeBSD [max{30, 镜像文件大小}, 500] CoreOS [max{30, 镜像文件大小}, 500] Red Hat [max{40, 镜像文件大小}, 500] Windows [max{40, 镜像文件大小}, 500] - 可选:选择数据盘。
- 可选:选择共享盘NAS。如果您有较多数据需要供多台实例共享访问,推荐使用NAS文件系统,可以节约大量拷贝与同步成本。
选择已有的NAS文件系统,或者单击创建新NAS文件系统前往NAS文件系统控制台即时创建NAS文件系统。具体操作,请参见通过控制台创建通用型NAS文件系统。创建完成后,返回ECS实例创建向导并单击
按钮,查看NAS文件系统列表。关于挂载NAS文件系统时的注意事项,请参见新购ECS时挂载NAS文件系统。
- 选择系统盘。
- 可选:配置快照服务。创建实例时即可为云盘开启自动备份,有效应对数据误删等风险。
选择已有的自动快照策略,或者单击创建自动快照策略前往快照页面即时创建自动快照策略。具体操作,请参见创建自动快照策略。创建完成后,返回ECS实例创建向导并单击
按钮,查看自动快照策略列表。
步骤2:完成网络和安全组配置
网络和安全组配置提供了公网以及与其他阿里云资源通信的能力,并保障实例在网络中的安全。完成网络和安全组配置后,单击下一步:系统配置。
- 选择网络及公网IP。
配置项 说明 相关文档 网络 选择专有网络。 专有网络是您在阿里云自己定义的一个隔离网络环境,您可以完全掌控自己的专有网络,例如选择IP地址范围、配置路由表和网关等。
如果在创建实例时不需要自定义专有网络配置,您可以跳过本步骤,系统会自动创建默认专有网络和交换机。说明 仅当实例所属地域不存在已创建的自定义专有网络时,才支持跳过本步骤。选择已有的专有网络和交换机,或者单击前往控制台创建前往专有网络控制台即时创建专有网络和交换机。创建完成后,返回ECS实例创建向导并单击按钮,查看最新的专有网络和交换机列表。
说明 如果您需要为实例分配IPv6地址,请选择已开通IPv6网段的专有网络和交换机。公网IP 如果您在基础配置页面中选择了Windows 2008 R2及以下版本的镜像,您必须在此处选中分配公网IPv4地址复选框,或者在创建实例后绑定弹性公网IP,以便通过其他协议连接实例,例如RDP(Windows自带的远程连接)、PCOIP、XenDesktop HDX 3D等。否则,在GPU驱动安装完成后,您将无法通过管理终端连接实例,连接实例时会始终显示黑屏或停留在启动界面。 说明 RDP不支持DirectX、OpenGL等应用,您需要自行安装VNC服务和客户端。具体操作如下:- 选中分配公网IPv4地址。
- 选择带宽计费模式。
- 按固定带宽:按您选择的带宽值计费,适用于对网络带宽有稳定要求的场景。
- 按使用流量:按实际使用的流量计费,此时选择的带宽峰值用于防止突然爆发的流量产生较高费用。适用于对网络带宽要求变化大的场景,例如大部分时间流量较低,但间歇性出现流量高峰。
- 选择按固定带宽的带宽值或按使用流量的带宽峰值。
什么是弹性公网IP - 选择安全组。安全组是一种虚拟防火墙,用于控制安全组内实例的入流量和出流量。更多信息,请参见安全组概述。
如果在创建实例不需要自定义安全组配置,您可以跳过本步骤,系统会自动创建默认安全组。默认安全组入方向放行22端口、3389端口及ICMP协议,在创建完成后您可以修改安全组配置。
- 如果您需要创建一个新的安全组,单击新建安全组。关于安全组各项配置的详细说明,请参见创建安全组。
- 单击重新选择安全组。
- 在请选择安全组对话框,选择一个或多个安全组,然后单击选择。
- 如果您需要创建一个新的安全组,单击新建安全组。
- 配置弹性网卡。弹性网卡分为主网卡和辅助网卡。主网卡不支持从实例解绑,只能随实例一起创建和释放。辅助网卡支持自由绑定至实例和从实例解绑,方便您在实例之间切换网络流量。如需随实例一起创建辅助网卡,请单击
图标,然后选择辅助网卡所属的交换机。
说明 创建实例时只能添加1块辅助网卡,您也可以在实例创建完成后单独创建辅助网卡并绑定至实例。关于各实例规格支持绑定的弹性网卡的数量,请参见实例规格族。
步骤3:完成系统配置
系统配置包括登录凭证、主机名、实例自定义数据等,用于定制实例在控制台和操作系统内显示的信息或使用方式。完成系统配置后,单击下一步:分组设置。
- 配置登录凭证。
建议选择密钥对或自定义密码。如果您选择创建后设置,在通过管理终端连接实例前必须先绑定SSH密钥对或者重置密码,然后重启实例使修改生效。如果此时GPU驱动尚未安装完成,重启操作会导致安装失败。
- 配置控制台中显示的实例名称和操作系统内部显示的主机名称。创建多台实例时,设置有序的实例名称和主机名称便于从名称了解实例的批次等信息。关于设置有序名称的规则,请参见批量设置有序的实例名称或主机名称。
- 配置高级选项。
- 选择实例RAM角色。实例通过实例RAM角色获得该角色拥有的权限,可以基于临时安全令牌STS(Security Token Service)访问指定云服务的API和操作指定的云资源,安全性更高。
选择已有的实例RAM角色,或者单击创建实例RAM角色前往RAM控制台即时创建实例RAM角色。创建完成后,返回ECS实例创建向导并单击
按钮,查看实例RAM角色列表。具体操作,请参见创建实例RAM角色并为角色授予权限。
- 选择实例元数据访问模式。实例元数据(metadata)包含了实例在阿里云系统中的信息,您可以在运行中的实例内方便地查看实例元数据,并基于实例元数据配置或管理实例。关于如何通过普通模式和加固模式查看实例元数据,请参见查看实例元数据。
实例元数据访问模式 说明 普通模式(兼容加固模式) 实例创建完成后,支持通过普通模式或者加固模式查看实例元数据。 仅加固模式 实例创建完成后,仅支持通过加固模式查看实例元数据。 警告 选择仅加固模式会导致cloud-init组件初始化配置失败,影响实例的元数据、自定义数据等配置,请慎重选择。 - 配置实例自定义数据。实例自定义数据可以作为实例自定义脚本在启动实例时执行,实现自动化配置实例,或者仅作为普通数据传入实例。更多信息,请参见使用实例自定义数据(Linux实例)和使用实例自定义数据(Windows实例)。由于您在基本配置页面中选择了安装GPU驱动、RDMA软件栈(仅超级计算集群sccgn7ex涉及)、AIACC训练加速、AIACC推理加速,在该区域会显示自动安装脚本的内容。实例创建成功后首次启动时,cloud-init会自动执行该自动安装脚本。说明 您也可以自行准备自动安装脚本并录入,同样能够实现自动安装GPU驱动、RDMA软件栈(仅超级计算集群sccgn7ex涉及)、AIACC训练加速、AIACC推理加速的配置。具体操作,请参见通过自定义安装脚本配置。
- 选择实例RAM角色。
(可选)步骤4:完成分组设置
分组设置提供标签、资源组等批量管理实例的方式。完成分组设置后,单击下一步:确认订单。
- 配置标签。标签由一对键值(Key-Value)组成。使用标签标识具有相同特征的资源后,例如所属组织或用途相同的资源,您可以基于标签方便地检索和管理资源。更多信息,请参见标签概述。
选择已有的标签,或者填写标签键和标签值即时创建标签。
- 选择资源组。
- 选择部署集。部署集支持高可用策略,部署集内实例会严格分散在不同的物理服务器上,保证业务的高可用性和底层容灾能力。
选择已有的部署集,或者单击管理部署集即时创建部署集。创建完成后,返回ECS实例创建向导并单击
按钮,查看部署集列表。具体操作,请参见创建部署集。
- 选择专有宿主机。专有宿主机是一台由单租户独享物理资源的云主机,具有满足严格的安全合规要求、允许自带许可证(BYOL)上云等优势。
选择已有的专有宿主机,或者单击创建专有宿主机即时创建专有宿主机。创建完成后,返回ECS实例创建向导并单击
按钮,查看专有宿主机列表。具体操作,请参见创建DDH。
- 选择私有池。创建弹性保障或容量预定后,系统会自动生成私有池,预留特定属性特定数量的实例。从关联的私有池中创建这一类实例,可以提供资源确定性保障。更多信息,请参见资源保障概述。说明 弹性保障和容量预定仅支持为按量付费实例保障资源供应确定性。
私有池容量 说明 开放 优先使用开放类型私有池的容量,如果开放类型私有池无可用容量,则尝试使用公共池的容量。 不使用 不使用任何私有池的容量。 指定 继续指定一个专用或开放类型私有池的ID,使用其容量创建实例。如果该私有池没有可用容量,则创建失败。
步骤5:确认订单
在最终创建实例前,请检查实例的整体配置并配置使用时长等选项,确保各项配置符合您的要求。
- 检查所选配置。如需修改配置,单击
图标前往对应页面。您可以基于所选配置生成模板,方便后续快捷创建配置类似的实例,如下表所示。
快捷操作 说明 相关文档 保存为启动模板 将所选配置保存为启动模板,使用启动模板创建实例可以免去重复配置的操作。 使用实例启动模板创建实例 生成Open API最佳实践脚本 自动生成API工作流和SDK示例供您参考。 保存当前购买配置为ROS模板 将所选配置保存为ROS模板,方便继续使用ROS模板创建资源栈,实现一键交付资源。 创建资源栈 - 配置实例的使用时长。
- 选择对应的服务协议。
- 如果您购买的是按量付费实例,请阅读《云服务器ECS服务条款》,如无疑问,选中《云服务器ECS服务条款》。
- 如果您购买的是包年包月实例,请阅读《云服务器ECS服务条款》和《云服务器ECS退订说明》,如无疑问,选中《云服务器ECS服务条款》|《云服务器ECS退订说明》。
- 在页面底部查看实例的总费用,如无疑问,确认创建实例并按提示完成支付。如果您为实例设置了自动安装GPU驱动,实例创建成功后,将自动执行GPU驱动的安装任务。自动安装耗时受不同实例规格的内网带宽和CPU核数的影响,约10~20分钟。您可以远程连接实例查看安装过程,也可以在安装完成后查看安装日志/root/auto_install/auto_install.log。安装过程中的显示效果如下表所示:
安装过程 显示效果 正在安装 显示安装进度条。 安装成功 安装结果提示ALL INSTALL OK。 安装失败 安装结果提示INSTALL FAIL。 注意 在安装过程中无法使用GPU,请勿对实例进行任何操作,也不要安装其它GPU相关软件,避免自动安装失败导致实例不可用。
通过自定义安装脚本配置
- 如果您没有在基本配置页面中选择安装GPU驱动、RDMA软件栈(仅超级计算集群sccgn7ex涉及)、AIACC训练加速和AIACC推理加速,并且想要在系统配置页面手动输入自动安装脚本。
- 如果您通过调用RunInstances接口来创建GPU实例,那么,您只能通过UserData参数上传自动安装脚本。
以下操作指导您准备自动安装脚本,并在创建实例阶段输入该脚本完成自动安装GPU驱动的配置。
- 准备自动安装脚本。自动安装脚本的内容如下:
#!/bin/sh #Please input version to install IS_INSTALL_RDMA="" IS_INSTALL_AIACC_TRAIN="" IS_INSTALL_AIACC_INFERENCE="" DRIVER_VERSION="" CUDA_VERSION="" CUDNN_VERSION="" IS_INSTALL_RAPIDS="FALSE" INSTALL_DIR="/root/auto_install" #using .run to install driver and cuda auto_install_script="auto_install.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_RDMA $IS_INSTALL_RAPIDS
说明 自动安装脚本使用.run安装包方式安装GPU驱动等模块。使用自动安装脚本时,您需要根据实际业务场景,补充如下参数。- 根据您所创建的实例规格和镜像,设置对应GPU驱动、CUDA和cuDNN库的版本。详细的版本支持情况,请参见驱动支持的镜像版本和实例规格。示例如下:
DRIVER_VERSION="470.82.01" CUDA_VERSION="11.4.1" CUDNN_VERSION="8.2.4"
- 设置是否安装RDMA软件栈。
说明 仅超级计算集群sccgn7ex的实例规格族支持安装RDMA软件栈。
IS_INSTALL_RDMA="TRUE"
- 设置是否安装AIACC训练加速和AIACC推理加速。
- 如果安装AIACC训练加速,则将IS_INSTALL_AIACC_TRAIN的值设置为TRUE,否则设置为FALSE。
- 如果安装AIACC推理加速,则将IS_INSTALL_AIACC_INFERENCE的值设置为TRUE,否则设置为FALSE。
示例如下:IS_INSTALL_AIACC_TRAIN="TRUE" IS_INSTALL_AIACC_INFERENCE="FALSE"
- 根据您所创建的实例规格和镜像,设置对应GPU驱动、CUDA和cuDNN库的版本。详细的版本支持情况,请参见驱动支持的镜像版本和实例规格。示例如下:
- 脚本准备完成后,您可以在系统配置阶段,在高级选项的实例自定义数据区域内,手动输入该脚本。
在实例启动后会自动安装GPU驱动、CUDA和cuDNN库,并根据您配置的脚本判断是否自动安装RDMA软件栈(仅超级计算集群sccgn7ex涉及)、AIACC训练加速以及AIACC推理加速。安装完成后实例会自动重启,然后GPU驱动才能正常工作 。
说明 GPU驱动在Persistence Mode下工作更稳定。自动安装脚本会自动开启GPU驱动的Persistence Mode,并将该设置添加到Linux系统服务中,在开机时自动启动服务,从而确保实例重启后还能默认开启Persistence Mode。