Amazon 深度学习 OSS AMI GPU PyTorch 2.7 (Ubuntu 22.04) - Amazon Deep Learning AMIs
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

Amazon 深度学习 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 包括以下内容:

  • 支持的 Amazon 服务: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

  • Amazon OFI NCC L:1.14.2-aws

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

  • Amazon 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 个网络接口卡,可以使用以下 Amazon 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 注意力。