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

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

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

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

AMI 名称格式

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

支持的 EC2 实例

  • 请参阅 DLAMI 的重要更改

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

AMI 包括以下内容:

  • 支持的 AWS 服务:Amazon EC2

  • 操作系统:Ubuntu 24.04

  • 计算架构:x86

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

    • Linux 内核:6. 8

    • FSx Lustre

    • Docker

    • AWS CLI v2 位于/usr/bin/aws

    • 英伟达 DCGM

    • 英伟达容器工具包

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

    • nvidia-docker2

      • 版本命令:nvidia-docker 版本

  • NVIDIA 驱动程序:570.133.20

  • NVIDIA CUDA 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.25.1

    • 默认 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/sbsa-linux/lib:/usr/local/cuda-12.8/nvvm/lib64:/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.1

  • 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/bin/aws

  • EBS 卷类型:gp3

  • Python:/usr/bin/python3.12

  • 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-24.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 24.04) ????????' 'Name=state,Values=available' \ --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \ --output text

版权声明

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-22

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

新增了

已更新

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

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

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

发布日期:2025-05-13

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

新增了

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