AWS 深度学习 OSS AMI GPU PyTorch 2.7 (Ubuntu 22.04) - AWS Deep Learning AMIs

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

AWS 深度学习 OSS AMI GPU PyTorch 2.7 (Ubuntu 22.04)

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

AMI 名称格式

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

支持的 EC2 实例

AMI 包括以下内容:

  • 支持的 AWS 服务:Amazon EC2

  • 操作系统:Ubuntu 22.04

  • 计算架构:x86

  • Linux 内核:6.8

  • NVIDIA 驱动程序:570.133.20

  • NVIDIA CUDA 12.8 堆栈

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

    • NCCL 考试地点:

      • all_reduce、all_gather 和 reduce_scatter:

        /usr/local/cuda-12.8/efa/test-cuda-12.8/
      • 要运行 NCCL 测试,LD_LIBRARY_PATH 已经使用所需的路径进行了更新。

        • 已 PATHs 在 LD_LIBRARY_PATH 中添加了常见内容:

          /opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/amazon/ofi-nccl/lib:/usr/local/lib:/usr/lib
        • LD_LIBRARY_PAT 已使用 CUDA 版本路径进行了更新:

          /usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda:/usr/local/cuda/targets/x86_64-linux/lib
    • 已编译的 NCCL 版本

      • 对于 12.8 的 CUDA 目录,编译了 NCCL 版本 2.26.2+ .8 CUDA12

    • 默认 CUDA:12.8

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

      • 在环境变量下方更新:

        • LD_LIBRARY_PATH 要有/usr/local/cuda/lib:/usr/local/cuda/lib64:/usr/local/cuda/targets/x86_64-linux/lib

        • 要拥有的路径/usr/local/cuda/bin/:/usr/local/cuda/include/

  • EFA 安装程序:1.40.0

  • 英伟达 GDRCopy:2.5

  • 英伟达变形金刚引擎:1.11.0

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

  • EBS 卷类型:gp3

  • Nvidia 容器工具包:1.17.7

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

  • Docker:28.2.2

  • Python:/usr/bin/python3.12

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

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

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

版权声明

Flash 注意

  • Flash antention 还没有 PyTorch 2.7 的正式版本。因此,它已从该 AMI 中暂时删除。 PyTorch 2.7 正式发布后,我们会将其包含在此 AMI 中。

  • 如果没有闪光注意,变形器引擎默认为使用 cuDNN 融合注意力。目前,注意力融合和 Blackwell 存在已知的问题 GPUs,例如 P6-B200 实例。

    • “借助计算能力 sm10.0(Blackwell Architecture) GPUs,具有缩放点积注意力的 FP8 数据类型包含死锁,在某些情况下会导致内核挂起,例如当问题规模较大或 GPU 同时运行多个内核时。计划在 future 版本中进行修复。” [cuDNN 9.10.0 发行说明]

    • 对于想要运行具有 FP8 数据和扩展点产品注意力的 P6-B200 实例的用户,请考虑手动安装 flash 注意力。

P6-B200 实例

  • P6-B200 实例需要 CUDA 版本 12.8 或更高版本以及 NVIDIA 驱动程序 570 或更高版本的驱动程序。

  • 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=instanace,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=7,DeviceIndex=1,Groups=$SG,SubnetId=$SUBNET,InterfaceType=efa"

p5/p5e 实例

  • DeviceIndex 对每个都是唯一的 NetworkCard ,并且必须是小于 ENIs p NetworkCard er 限制的非负整数。在 P5 上,p ENIs er 的数量 NetworkCard 为 2,这意味着的唯一有效值 DeviceIndex 是 0 或 1。以下是使用 awscli 的 EC2 P5 实例启动命令的示例,显示 NetworkCardIndex 数字 0-31,第一个接口显示 DeviceIndex 为 0,其余 31 个接口显示为 1。

aws ec2 run-instances --region $REGION \ --instance-type $INSTANCETYPE \ --image-id $AMI --key-name $KEYNAME \ --iam-instance-profile "Name=dlami-builder" \ --tag-specifications "ResourceType=instanace,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 dkpg -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 apt-get upgrade -y
  • 对于每个新版本的 DLAMI,都使用最新可用的兼容内核。

PyTorch 弃用 Anaconda 频道

从 PyTorch 2.6 开始, PyTorch 已弃用对 Conda 的支持(参见官方公告)。因此, PyTorch 2.6 及更高版本将转向使用 Python 虚拟环境。要激活 PyTorch venv,请使用源代码/ opt/pytorch/bin/activate

发布日期:2025-06-03

AMI 名称:深度学习 OSS Nvidia 驱动程序 AMI GPU PyTorch 2.7 (Ubuntu 22.04) 20250602

新增了

  • 深度学习 AMI GPU PyTorch 2.7 (Ubuntu 22.04) 系列的首次发布。包括配有 NVIDIA 驱动程序 R570、CUDA=12.8、cuda=9.10、NCCL=2.26.5 和 EFA=1.40.0 的 Python 虚拟环境 pytorch(来源/opt/pytorch/bin/activate)。 PyTorch

已知问题

  • “借助计算能力 sm10.0(Blackwell Architecture) GPUs,具有缩放点积注意力的 FP8 数据类型包含死锁,在某些情况下会导致内核挂起,例如当问题规模较大或 GPU 同时运行多个内核时。计划在 future 版本中进行修复。” [cuDNN 9.10.0 发行说明]

    • 对于想要运行具有 FP8 数据和扩展点产品注意力的 P6-B200 实例的用户,请考虑手动安装 flash 注意力。