

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

# AWS Deep Learning AMI GPU PyTorch 2.4 (Ubuntu 22.04)
<a name="aws-deep-learning-ami-gpu-pytorch-2.4-ubuntu-22-04"></a>

如需入門說明，請參閱 [DLAMI 入門](getting-started.md)。

#### AMI 名稱格式
<a name="name-gpu-pytorch-2.4-ubuntu-22-04"></a>
+ 深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.4.${PATCH\_VERSION} (Ubuntu 22.04) ${YYYY-MM-DD}

#### 支援的 EC2 執行個體
<a name="instances-gpu-pytorch-2.4-ubuntu-22-04"></a>
+ 請參閱 [DLAMI 的重要變更](important-changes.md)。
+ 搭配 OSS Nvidia Driver 的深度學習支援 G4dn、G5、G6、Gr6、P4、P4de、P5、P5e、P5en。

#### AMI 包含下列項目：
<a name="contents-gpu-pytorch-2.4-ubuntu-22-04"></a>
+ **支援 AWS 的服務**：EC2
+ **作業系統**：Ubuntu 22.04
+ **運算架構**：x86
+ **Python**：/opt/conda/envs/pytorch/bin/python
+ **NVIDIA 驅動程式**：
  + OSS Nvidia 驅動程式：550.144.03
+ **NVIDIA CUDA12.1 堆疊**：
  + CUDA、NCCL 和 cuDDN 安裝路徑：/usr/local/cuda-12.4/
  + **預設 CUDA：**12.4
    + PATH /usr/local/cuda 指向 /usr/local/cuda-12.4/
    + 已更新下列 env vars：
      +  LD\_LIBRARY\_PATH 具有 /usr/local/cuda/lib：/usr/local/cuda/lib64：/usr/local/cuda：/usr/local/cuda/targets/x86\_64-linux/lib
      + 要讓 /usr/local/cuda/bin/：/usr/local/cuda/include/ 的 PATH
  + 編譯系統 NCCL 版本，位於 /usr/local/cuda/： 2.21.5
  + 來自 PyTorch conda 環境的 PyTorch 編譯 NCCL 版本：2.20.5
+  **NCCL 測試位置： **
  + all\_reduce、all\_gather 和 reduce\_scatter：/usr/local/cuda-xx.x/efa/test-cuda-xx.x/
  + 若要執行 NCCL 測試，LD\_LIBRARY\_PATH 已使用所需的路徑更新。
    + 常見 PATHs已新增至 LD\_LIBRARY\_PATH：
      +  `/opt/amazon/efa/lib:/opt/amazon/openmpi/lib:/opt/aws-ofi-nccl/lib:/usr/local/lib:/usr/lib`
  + LD\_LIBRARY\_PATH 已更新為 CUDA 版本路徑
    +  /usr/local/cuda/lib：/usr/local/cuda/lib64：/usr/local/cuda：/usr/local/cud/targets/x86\_64-linux/lib
+ **EFA 安裝程式：**1.34.0
+ **Nvidia GDRCopy：**2.4.1
+ **Nvidia 轉換器引擎：**1.11.0 版
+ **AWS OFI NCCL 外掛程式**： 已安裝為 的一部分 `EFA Installer-aws`
  + **安裝路徑：**`/opt/aws-ofi-nccl/`。路徑`/opt/aws-ofi-nccl/lib`會新增至 LD\_LIBRARY\_PATH。
  + 測試 ring， message\_transfer **的路徑**： `/opt/aws-ofi-nccl/tests`
  + 注意：PyTorch 套件也隨附動態連結的 AWS OFI NCCL 外掛程式做為 conda `aws-ofi-nccl-dlc`套件，而 PyTorch 會使用該套件，而不是系統 AWS OFI NCCL。
+ **AWS CLI v2** 為 `aws2`，**AWS CLI v1** 為 `aws`
+ **EBS 磁碟區類型**：gp3
+ **Python 版本：**3.11
+  **使用 SSM 參數查詢 AMI-ID （範例區域為 us-east-1)：**
  +  **OSS Nvidia 驅動程式：**

    ```
    aws ssm get-parameter --region {{us-east-1}} \
            --name /aws/service/deeplearning/ami/x86_64/oss-nvidia-driver-gpu-pytorch-2.4-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 OSS Nvidia Driver AMI GPU PyTorch 2.4.? (Ubuntu 22.04) ????????' 'Name=state,Values=available' \
        --query 'reverse(sort_by(Images, &CreationDate))[:1].ImageId' \
        --output text
    ```

#### 注意
<a name="notices-gpu-pytorch-2.4-ubuntu-22-04"></a>

**P5/P5e 執行個體**
+ DeviceIndex 對每個 NetworkCard 都是唯一的，而且必須是小於每個 NetworkCard 的 ENIs限制的非負整數。在 P5 上，每個 NetworkCard ENIs 數目為 2，這表示 DeviceIndex 的唯一有效值為 0 或 1。以下是使用 awscli 的 EC2 P5 執行個體啟動命令範例，將數字 0-31 的 NetworkCardIndex 和 DeviceIndex 顯示為 0，第一個界面的 DeviceIndex 顯示為 1，其餘 31 界面的 DeviceIndex 顯示為 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=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"
```

#### 發行日期：2025-02-17
<a name="2025-02-17-gpu-pytorch-2.4-ubuntu-22-04"></a>

**AMI 名稱：**深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.4.1 (Ubuntu 22.04) 20250216

##### Updated
<a name="w2aac25c13b7c11c13b5"></a>
+ 將 NVIDIA Container Toolkit 從 1.17.3 版更新至 1.17.4 版
  + 如需詳細資訊，請參閱此處的版本備註頁面：https：//[https://github.com/NVIDIA/nvidia-container-toolkit/releases/tag/v1.17.4](https://github.com/NVIDIA/nvidia-container-toolkit/releases/tag/v1.17.4)
  + 在 Container Toolkit 1.17.4 版中，CUDA Compat 程式庫的掛載現已停用。為了確保與容器工作流程上的多個 CUDA 版本相容，請確保您更新 LD\_LIBRARY\_PATH 以包含 CUDA 相容性程式庫，如[如果您使用 CUDA 相容性層](https://docs.aws.amazon.com/sagemaker/latest/dg/inference-gpu-drivers.html#collapsible-cuda-compat)教學中所示。

#### 發行日期：2025-01-21
<a name="2025-01-21-gpu-pytorch-2.4-ubuntu-22-04"></a>

**AMI 名稱：**深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.4.1 (Ubuntu 22.04) 20250119

##### Updated
<a name="w2aac25c13b7c11c15b5"></a>
+ 已將 Nvidia 驅動程式從 550.127.05 版升級至 550.144.03，以解決 [2025 年 1 月 NVIDIA GPU 顯示驅動程式安全公告](https://nvidia.custhelp.com/app/answers/detail/a_id/5614)中存在的 CVE。

#### 發行日期：2024-11-18
<a name="2024-11-18-gpu-pytorch-2.4-ubuntu-22-04"></a>

**AMI 名稱：**深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.4.1 (Ubuntu 22.04) 20241116

##### Fixed
<a name="w2aac25c13b7c11c17b5"></a>
+ 由於 Ubuntu 核心變更以解決核心位址空間配置隨機化 (KASLR) 功能中的瑕疵，G4Dn/G5 執行個體無法在 OSS Nvidia 驅動程式上正確初始化 CUDA。為了緩解此問題，此 DLAMI 包含可動態載入 G4Dn 和 G5 執行個體專屬驅動程式的功能。請允許此載入的短暫初始化期間，以確保您的執行個體能夠正常運作。
  + 若要檢查此服務的狀態和運作狀態，您可以使用下列命令：

```
sudo systemctl is-active dynamic_driver_load.service active
```

#### 發行日期：2024-10-16
<a name="2024-10-16-gpu-pytorch-2.4-ubuntu-22-04"></a>

**AMI 名稱**：深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.4.1 (Ubuntu 22.04) 20241016

##### 已新增
<a name="w2aac25c13b7c11c19b5"></a>
+ 新增用於加速轉換器模型的 Nvidia TransformerEngine 1.11.0 版 （如需詳細資訊，請參閱 [ https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/index.html](https://docs.nvidia.com/deeplearning/transformer-engine/user-guide/index.html)：//)

#### 發行日期：2024-09-30
<a name="2024-09-30-gpu-pytorch-2.4-ubuntu-22-04"></a>

**AMI 名稱**：深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.4.1 (Ubuntu 22.04) 20240929

##### Updated
<a name="w2aac25c13b7c11c21b5"></a>
+ 已將 Nvidia Container Toolkit 從 1.16.1 版升級至 1.16.2 版，解決安全性漏洞 [CVE-2024-0133](https://nvd.nist.gov/vuln/detail/CVE-2024-0133)。

#### 發行日期：2024-09-26
<a name="2024-09-26-gpu-pytorch-2.4-ubuntu-22-04"></a>

**AMI 名稱**：深度學習 OSS Nvidia 驅動程式 AMI GPU PyTorch 2.4.1 (Ubuntu 22.04) 20240925

##### 已新增
<a name="w2aac25c13b7c11c23b5"></a>
+ Deep Learning AMI GPU PyTorch 2.4.1 (Ubuntu 22.04) 系列的初始版本。包含與 NVIDIA 驅動程式 R550、CUDA=12.4.1、cuDNN=8.9.7、PyTorch NCCL=2.20.5 和 EFA=1.34.0 相輔相成的 conda 環境pytorch。