AWS Deep Learning Base GPU AMI (Ubuntu 22.04) - AWS 深度學習 AMIs

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

AWS Deep Learning Base GPU AMI (Ubuntu 22.04)

如需入門說明,請參閱 DLAMI 入門

AMI 名稱格式

  • 深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) ${YYYY-MM-DD}

支援的 EC2 執行個體

  • 請參閱 DLAMI 的重要變更

  • 使用 OSS Nvidia 驅動程式的深度學習支援 G4dn, G5, G6, Gr6, G6e, P4d, P4de, P5, P5e, P6-B200。

AMI 包含下列項目:

  • 支援服務 AWS :Amazon EC2

  • 作業系統:Ubuntu 22.04

  • 運算架構:x86

  • 下列套件已安裝最新的可用版本:

    • Linux 核心:6.8

    • FSx Lustre

    • Docker

    • AWS CLI v2 位於 /usr/local/bin/aws2,AWS CLI v1 位於 /usr/bin/aws

    • NVIDIA DCGM

    • Nvidia 容器工具組

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

    • Nvidia-docker2

      • 版本命令:nvidia-docker 版本

  • NVIDIA 驅動程式:570.133.20

  • NVIDIA CUDA12.4-12.6 和 12.8 堆疊

    • CUDA、NCCL 和 cuDDN 安裝目錄:/usr/local/cuda-xx.x/

      • 範例:/usr/local/cuda-12.8/ 、/usr/local/cuda-12.8/

    • 編譯的 NCCL 版本:2.26.5

    • 預設 CUDA:12.8

      • PATH /usr/local/cuda 指向 CUDA 12.8

      • 已更新下列 env vars:

        • LD_LIBRARY_PATH 具有 /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/lib64

        • PATH 讓 /usr/local/cuda-12.8/bin/:/usr/local/cuda-12.8/include/

        • 對於任何不同的 CUDA 版本,請相應地更新 LD_LIBRARY_PATH。

  • EFA 安裝程式:1.40.0

  • Nvidia GDRCopy:2.5

  • AWS OFI NCCL:1.14.2-aws

    • 安裝路徑:/opt/amazon/ofi-nccl/ 。路徑 /opt/amazon/ofi-nccl/lib 已新增至 LD_LIBRARY_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 Nvidia 驅動程式:

      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
  • 使用 AWSCLI 查詢 AMI-ID (範例區域為 us-east-1):

    • OSS Nvidia 驅動程式:

      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 Container Toolkit 1.17.4

在 Container Toolkit 1.17.4 版中,CUDA Compat 程式庫的掛載現已停用。為了確保與容器工作流程上的多個 CUDA 版本相容,請確保您更新 LD_LIBRARY_PATH 以包含 CUDA 相容性程式庫,如如果您使用 CUDA 相容性層教學中所示。

從 1.37 到 1.38 的 EFA 更新 ( 發行2025-01-31)

EFA 現在綁定 AWS OFI NCCL 外掛程式,現在可在 /opt/amazon/ofi-nccl 中找到,而不是原始 /opt/aws-ofi-nccl/。如果更新 LD_LIBRARY_PATH 變數,請確保您正確修改 OFI NCCL 位置。

多 ENI 支援
  • Ubuntu 22.04 會在初始開機時使用 cloud-init 在多個 NICss 上自動設定來源路由。如果您的工作流程包括在執行個體停止時連接/刪除 ENIs,則必須將額外的組態新增至 cloud-init 使用者資料,以確保在這些事件期間 NIC 的適當組態。以下是雲端組態的範例。

  • 如需如何為執行個體設定雲端組態的詳細資訊,請參閱此正式文件 - https://documentation.ubuntu.com/aws/en/latest/aws-how-to/instances/automatically-setup-multiple-nics/://

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

支援政策

此 AMIs的這些 AMI 元件,例如 CUDA 版本,可能會根據架構支援政策或最佳化深度學習容器的效能,或減少未來版本的 AMI 大小,而不需要事先通知。如果任何支援的架構版本未使用 CUDA 版本,我們會從 AMIs 中移除這些版本。

具有多個網路卡的 EC2 執行個體
  • 許多支援 EFA 的執行個體類型也具有多個網路卡。

  • DeviceIndex 對每個網路卡都是唯一的,且必須是小於每個 NetworkCard ENIs 限制的非負整數。在 P5 上,每個 NetworkCard ENIs 數目為 2,這表示 DeviceIndex 的唯一有效值為 0 或 1。

    • 針對主要網路介面 (網路卡索引 0、裝置索引 0),建立 EFA (EFA 搭配 ENA) 介面。您不能使用僅限 EFA 的網路介面做為主要網路介面。

    • 對於每個額外的網路界面,請使用下一個未使用的網路卡索引、裝置索引 1,以及 EFA (EFA 搭配 ENA) 或僅限 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 驅動程式 GPU AMI (Ubuntu 22.04) 20250516

已新增

  • 新增對 P6-B200 EC2 執行個體的支援

Updated

  • 已將 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 驅動程式 GPU AMI (Ubuntu 22.04) 20250503

Updated

  • 已將 GDRCopy 從 2.4.1 升級至 2.5.1

發行日期:2025-04-24

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20250424

Updated

發行日期:2025-02-17

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20250214

Updated

已移除

發行日期:2025-02-07

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20250205

已新增

  • 在目錄 /usr/local/cuda-12.6 中新增 CUDA 工具組 12.6 版

已移除

發行日期:2025-01-31

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20250131

Updated

  • 已將 EFA 版本從 1.37.0 升級至 1.38.0

    • EFA 現在綁定 AWS OFI NCCL 外掛程式,現在可在 /opt/amazon/ofi-nccl 中找到,而不是原始 /opt/aws-ofi-nccl/。如果更新您的 LD_LIBRARY_PATH 變數,請確保您正確修改 OFI NCCL 位置。

  • 已將 Nvidia Container Toolkit 從 1.17.3 升級至 1.17.4

發行日期:2025-01-17

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20250117

Updated

發行日期:2024-11-18

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20241115

已新增

  • 新增適用於 Lustre 的 Amazon FSx 套件支援。

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 驅動程式 GPU AMI (Ubuntu 22.04) 20241023

Updated

發行日期:2024-10-01

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 20.04) 20240930

Updated

  • 將 Nvidia 驅動程式和 Fabric Manager 從 535.183.01 版升級至 550.90.07

  • 已將 Nvidia Container Toolkit 從 1.16.1 版升級至 1.16.2 版,以解決安全性漏洞 CVE-2024-0133

  • 已將 EFA 版本從 1.32.0 升級至 1.34.0

  • 已將 NCCL 升級至所有 CUDA 版本的最新版本 2.22.3

    • CUDA 12.1、12.2 從 2.18.5+CUDA12.2 升級

    • CUDA 12.3 從 2.21.5+CUDA12.4 版升級

已新增

  • 在目錄 /usr/local/cuda-12.4 中新增 CUDA 工具組 12.4 版

  • 新增對 P5e EC2 執行個體的支援。

發行日期:2024-08-19

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20240816

已新增

發行日期:2024-06-06

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20240606

Updated

  • 將 Nvidia 驅動程式版本從 535.183.01 更新至 535.161.08

發行日期:2024-05-15

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20240513

已移除

  • 由於與最新的 Ubuntu 22.04 核心版本不相容,此版本已移除 Amazon FSx for Lustre 支援。一旦支援最新的核心版本,FSx for Lustre 的支援將會恢復。需要 FSx for Lustre 的客戶應繼續使用深度學習基礎 GPU AMI (Ubuntu 20.04)。

發行日期:2024-04-29

AMI 名稱:深度學習基礎 OSS Nvidia 驅動程式 GPU AMI (Ubuntu 22.04) 20240429

已新增

  • 適用於 Ubuntu 22.04 的深度學習基礎 OSS DLAMI 初始版本