AWS 深度学习基础 GPU AMI (Ubuntu 22.04) - AWS Deep Learning AMIs

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

AWS 深度学习基础 GPU AMI (Ubuntu 22.04)

如需入门帮助,请参阅DLAMI 入门

AMI 名称格式

  • 深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) $ {YYYY-MM-DD}

支持的 EC2 实例

  • 请参阅 DLAMI 的重要更改

  • 使用 OSS 进行深度学习 Nvidia Driver 支持 g4dn、G5、G6、Gr6、G6e、p4d、p4de、P5、p5e、P6-B200。

AMI 包括以下内容:

  • 支持的 AWS 服务:Amazon EC2

  • 操作系统:Ubuntu 22.04

  • 计算架构:x86

  • 以下软件包已安装最新可用版本:

    • Linux 内核:6. 8

    • FSx 光泽

    • Docker

    • AWS CLI v2 位于/usr/local/bin/aws2 和 AWS CLI v1 位于/usr/bin/aws

    • 英伟达 DCGM

    • 英伟达容器工具包

      • 版本命令: nvidia-container-cli-V

    • nvidia-docker2

      • 版本命令:nvidia-docker 版本

  • NVIDIA 驱动程序:570.133.20

  • NVIDIA CUDA 12.4-12.6 和 12.8 堆栈

    • C@@ UDA、NCCL 和 cudDN 安装目录:/-xx.x/ usr/local/cuda

      • 示例:/usr/local/cuda-12.8/ , /usr/local/cuda-12.8/

    • 已编译的 NCCL 版本:2.26.5

    • 默认 CUDA:12.8

      • 路径/ usr/local/cuda 指向 CUDA 12.8

      • 在环境变量下方更新:

        • LD_LIBRARY_PATH 要有 /64 usr/local/cuda-12.8/lib:/usr/local/cuda-12.8/lib64:/usr/local/cuda-12.8:/usr/local/cuda-12.8/targets/x86_64-linux/lib:/usr/local/cuda-12.8/extras/CUPTI/lib

        • 拥有路径/usr/local/cuda-12.8/bin/:/usr/local/cuda-12.8/include/

        • 对于任何不同的 CUDA 版本,请相应地更新 LD_LIBRARY_PATH。

  • EFA 安装程序:1.40.0

  • 英伟达 GDRCopy:2.5

  • AWS OFI NCC L:1.14.2-aws

    • 安装路径:/已添加到 LD_L opt/amazon/ofi-nccl/ . Path /opt/amazon/ofi-nccl/lib IBRARY_PATH。

  • AWS CLI v2 位于/usr/local/bin/aws2 和 AWS CLI v1 位于/usr/bin/aws

  • EBS 卷类型:gp3

  • Python:/usr/bin/python3.10

  • NVMe 实例存储位置(在支持的 EC2 实例上):/opt/dlami/nvme

  • 使用 SSM 参数查询 AMI-ID(示例区域为 us-east-1):

    • OSS 英伟达驱动程序:

      aws ssm get-parameter --region us-east-1 \ --name /aws/service/deeplearning/ami/x86_64/base-oss-nvidia-driver-gpu-ubuntu-22.04/latest/ami-id \ --query "Parameter.Value" \ --output text
  • 使用以下方式查询 AMI-ID AWSCLI (示例区域为 us-east-1):

    • OSS 英伟达驱动程序:

      aws ec2 describe-images --region us-east-1 \ --owners amazon \ --filters 'Name=name,Values=Deep Learning Base OSS Nvidia Driver GPU AMI (Ubuntu 22.04) ????????' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

版权声明

NVIDIA 容器工具包 1.17.4

在 Container Toolkit 版本 1.17.4 中,现已禁用 CUDA 兼容库的挂载。为了确保与容器工作流程中的多个 CUDA 版本兼容,请确保更新 LD_LIBRARY_PATH 以包含您的 CUDA 兼容性库,如如果您使用 CUDA 兼容层教程中所示。

EFA 从 1.37 更新到 1.38(发布于 2025-01-31)

EFA 现在捆绑了 AWS OFI NCCL 插件,该插件现在可以在 /-ofi-nccl/ 中找到。opt/amazon/ofi-nccl rather than the original /opt/aws如果要更新 LD_LIBRARY_PATH 变量,请确保正确修改 OFI NCCL 位置。

支持多 ENI
#cloud-config # apply network config on every boot and hotplug event updates: network: when: ['boot', 'hotplug']

Support 政策

此 AMI 的这些 AMIs 组件(如 CUDA 版本)可能会根据框架支持政策进行删除和更改,或者为了优化深度学习容器的性能或在未来的版本中缩小 AMI 大小,恕不另行通知。 AMIs 如果 CUDA 版本未被任何支持的框架版本使用,我们会将其从中删除。

EC2 带有多个网卡的实例
  • 许多支持 EFA 的实例类型也有多个网卡。

  • DeviceIndex 对于每个网卡来说都是唯一的,并且必须是小于 ENIs p NetworkCard er 限制的非负整数。在 P5 上,p ENIs er 的数量 NetworkCard 为 2,这意味着的唯一有效值 DeviceIndex 是 0 或 1。

    • 对于主网络接口(网卡索引 0,设备索引 0),创建 EFA(带有 ENA 的 EFA)接口。您不能使用仅限 EFA 的网络接口作为主网络接口。

    • 对于每个额外的网络接口,请使用下一个未使用的网卡索引,即设备索引 1,以及 EFA(带有 ENA 的 EFA)或仅限 EFA 的网络接口,具体取决于您的用例,例如 ENA 带宽要求或 IP 地址空间。有关用例示例,请参阅 P5 实例的 EFA 配置。

    • 有关更多信息,请参阅此处的 EFA 指南。

P6-B200 实例

P6-B200 包含 8 个网络接口卡,可使用以下 AWS CLI 命令启动:

aws ec2 run-instances --region $REGION \ --instance-type $INSTANCETYPE \ --image-id $AMI --key-name $KEYNAME \ --iam-instance-profile "Name=dlami-builder" \ --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=$TAG}]" \ --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=1,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=2,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=3,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=4,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=5,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=6,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=7,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa"
P5en 实例

P5en 包含 16 个网络接口卡,可使用以下 AWS CLI 命令启动:

aws ec2 run-instances --region $REGION \ --instance-type $INSTANCETYPE \ --image-id $AMI --key-name $KEYNAME \ --iam-instance-profile "Name=dlami-builder" \ --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=$TAG}]" \ --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=1,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=2,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=3,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=4,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ .... "NetworkCardIndex=15,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa"
p5/p5e 实例

P5 和 P5e 实例包含 32 个网络接口卡,可以使用以下命令启动: AWS CLI

aws ec2 run-instances --region $REGION \ --instance-type $INSTANCETYPE \ --image-id $AMI --key-name $KEYNAME \ --iam-instance-profile "Name=dlami-builder" \ --tag-specifications "ResourceType=instance,Tags=[{Key=Name,Value=$TAG}]" \ --network-interfaces "NetworkCardIndex=0,DeviceIndex=0,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=1,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=2,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=3,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ "NetworkCardIndex=4,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa" \ ... "NetworkCardIndex=31,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa"
内核
  • 使用以下命令固定内核版本:

    echo linux-aws hold | sudo dpkg —set-selections echo linux-headers-aws hold | sudo dpkg —set-selections echo linux-image-aws hold | sudo dpkg —set-selections
  • 我们建议用户避免更新其内核版本(除非有安全补丁),以确保与已安装的驱动程序和软件包版本兼容。如果用户仍希望更新,他们可以运行以下命令来取消固定其内核版本:

    echo linux-aws install | sudo dpkg -set-selections echo linux-headers-aws install | sudo dpkg -set-selections echo linux-image-aws install | sudo dpkg -set-selections
  • 对于每个新版本的 DLAMI,都使用最新可用的兼容内核。

发布日期:2025-05-16

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250516

新增了

  • 增加了对 P6-B200 EC2 实例的支持

已更新

  • 将 EFA 安装程序从版本 1.39.0 升级到 1.40.0

  • 将 AWS OFI NCCL 插件从 1.13.0-aws 版本升级到 1.14.2-aws

  • 将编译后的 NCCL 版本从 2.22.3 版本更新为 2.26.5

  • 将默认 CUDA 版本从版本 12.6 更新为 12.8

  • 将 Nvidia DCGM 版本从 3.3.9 更新到 4.4.3

发布日期:2025-05-05

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250503

已更新

  • GDRCopy 从 2.4.1 升级到 2.5.1

发布日期:2025-04-24

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250424

已更新

  • 将 Nvidia 驱动程序从 570.124.06 版本升级到 570.133.20,以解决 2025 年 4 月 NVIDIA G PU CVEs 显示驱动程序安全公告中提到的问题

发布日期:2025-02-17

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250214

已更新

  • 将 NVIDIA 容器工具包从版本 1.17.3 更新到 1.17.4 版

已删除

发布日期:2025-02-07

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250205

新增了

  • 在目录中添加了 CUDA 工具包 12.6 版本 /-12.6 usr/local/cuda

已删除

发布日期:2025-01-31

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250131

已更新

  • 将 EFA 版本从 1.37.0 升级到 1.38.0

    • EFA 现在捆绑了 AWS OFI NCCL 插件,该插件现在可以在 /-ofi-nccl/ 中找到。opt/amazon/ofi-nccl rather than the original /opt/aws如果要更新 LD_LIBRARY_PATH 变量,请确保正确修改 OFI NCCL 位置。

  • 将 Nvidia 容器工具包从 1.17.3 升级到 1.17.4

发布日期:2025-01-17

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20250117

已更新

  • 将 Nvidia 驱动程序从 550.127.05 版升级到 550.144.03 版,以解决 2025 年 1 月 NVIDIA G PU CVEs 显示驱动程序安全公告中提到的问题

发布日期:2024-11-18

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20241115

新增了

  • 添加了 Amazon FSx 套餐对 Lustre 的支持。

Fixed

  • 由于 Ubuntu 内核为解决内核地址空间布局随机化 (KASLR) 功能中的缺陷而进行了更改,G4Dn/G5 实例无法在 OSS Nvidia 驱动程序上正确初始化 CUDA。为了缓解此问题,此 DLAMI 包含动态加载 G4Dn 和 G5 实例专有驱动程序的功能。请留出一段短暂的初始化时间进行此加载,以确保您的实例能够正常运行。

    要检查此服务的状态和运行状况,可以使用以下命令:

sudo systemctl is-active dynamic_driver_load.service active

发布日期:2024-10-23

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20241023

已更新

发布日期:2024-10-01

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 20.04) 20240930

已更新

新增了

  • 在目录/-12.4 中添加了 CUDA 工具包版本 12.4 usr/local/cuda

  • 增加了对 P5e 实例 EC2 的支持。

发布日期:2024-08-19

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20240816

新增了

发布日期:2024-06-06

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20240606

已更新

  • 将 Nvidia 驱动程序版本从 535.161.08 更新到 535.183.01

发布日期:2024-05-15

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20240513

已删除

  • 由于与最新 FSx 的 Ubuntu 22.04 内核版本不兼容,本版本中删除了对 Amazon for Lustre 的支持。支持 FSx 最新内核版本后,将恢复对 Lustre 的支持。需要 Lustre FSx 的客户应继续使用深度学习基础 GPU AMI(Ubuntu 20.04)。

发布日期:2024-04-29

AMI 名称:深度学习基础 OSS Nvidia Driver GPU AMI (Ubuntu 22.04) 20240429

新增了

  • 适用于 Ubuntu 的深度学习基础 OSS DLAMI 的首次发布 22.04