

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Definisi tugas Amazon ECS untuk beban kerja GPU
<a name="ecs-gpu"></a>

Amazon ECS mendukung beban kerja yang menggunakan GPU, saat Anda membuat cluster dengan instance container yang mendukung GPU. Instans container berbasis GPU Amazon EC2 yang menggunakan tipe instans p2, p3, p5, g3, g4, dan g5 menyediakan akses ke NVIDIA. GPUs Untuk informasi selengkapnya, lihat [Instans Komputasi Akselerasi Linux](https://docs.aws.amazon.com/ec2/latest/instancetypes/ac.html) di panduan *Jenis Instans Amazon EC2*.

Amazon ECS menyediakan AMI yang dioptimalkan untuk GPU yang dilengkapi dengan driver kernel NVIDIA yang telah dikonfigurasi sebelumnya dan runtime GPU Docker. Untuk informasi selengkapnya, lihat [Linux Amazon ECS yang dioptimalkan AMIs](ecs-optimized_AMI.md).

Anda dapat menunjuk sejumlah definisi GPUs tugas Anda untuk pertimbangan penempatan tugas di tingkat kontainer. Amazon ECS menjadwalkan instans kontainer yang tersedia yang mendukung GPUs dan menyematkan fisik GPUs ke kontainer yang tepat untuk kinerja optimal. 

Berikut tipe instans Amazon EC2 berbasis GPU yang didukung. [https://aws.amazon.com/ec2/instance-types/g5/](https://aws.amazon.com/ec2/instance-types/g5/)


|  Tipe instans  |  GPUs  |  Memori GPU (GiB)  |  v CPUs  |  Memori (GiB)  | 
| --- | --- | --- | --- | --- | 
|  p3.2xlarge  |  1  |  16  |  8  |  61  | 
|  p3.8xlarge  |  4  |  64  |  32  |  244  | 
|  p3.16xlarge  |  8  |  128  |  64  |  488  | 
|  p3dn.24xlarge  |  8  |  256  |  96  |  768  | 
|  p4d.24xlarge  | 8 | 320 | 96 | 1152 | 
| p5.48xlarge | 8 | 640 | 192 | 2048 | 
|  g3s.xlarge  |  1  |  8  |  4  |  30,5  | 
|  g3.4xlarge  |  1  |  8  |  16  |  122  | 
|  g3.8xlarge  |  2  |  16  |  32  |  244  | 
|  g3.16xlarge  |  4  |  32  |  64  |  488  | 
|  g4dn.xlarge  |  1  |  16  |  4  |  16  | 
|  g4dn.2xlarge  |  1  |  16  |  8  |  32  | 
|  g4dn.4xlarge  |  1  |  16  |  16  |  64  | 
|  g4dn.8xlarge  |  1  |  16  |  32  |  128  | 
|  g4dn.12xlarge  |  4  |  64  |  48  |  192  | 
|  g4dn.16xlarge  |  1  |  16  |  64  |  256  | 
|  g5.xlarge  |  1  |  24  |  4  |  16  | 
|  g5.2xlarge  |  1  |  24  |  8  |  32  | 
|  g5.4xlarge  |  1  |  24  |  16  |  64  | 
|  g5.8xlarge  |  1  |  24  |  32  |  128  | 
|  g5.16xlarge  |  1  |  24  |  64  |  256  | 
|  g5.12xlarge  |  4  |  96  |  48  |  192  | 
|  g5.24xlarge  |  4  |  96  |  96  |  384  | 
|  g5.48xlarge  |  8  |  192  |  192  |  768  | 
| g6.xlarge | 1 | 24 | 4 | 16 | 
| g6.2xlarge | 1 | 24 | 8 | 32 | 
| g6.4xlarge | 1 | 24 | 16 | 64 | 
| g6.8xlarge | 1 | 24 | 32 | 128 | 
| g6.16.xlarge | 1 | 24 | 64 | 256 | 
| g6.12xlarge | 4 | 96 | 48 | 192 | 
| g6.24xlarge | 4 | 96 | 96 | 384 | 
| g6.48xlarge | 8 | 192 | 192 | 768 | 
| g6.logam | 8 | 192 | 192 | 768 | 
| gr6.4xbesar | 1 | 24 | 16 | 128 | 
| g6e.xlarge | 1 | 48 | 4 | 32 | 
| g6e.2xlarge | 1 | 48 | 8 | 64 | 
| g6e.4xlarge | 1 | 48 | 16 | 128 | 
| g6e.8xlarge | 1 | 48 | 32 | 256 | 
| g6e16.xlarge | 1 | 48 | 64 | 512 | 
| g6e12.xlarge | 4 | 192 | 48 | 384 | 
| g6e24.xlarge | 4 | 192 | 96 | 768 | 
| g6e48.xlarge | 8 | 384 | 192 | 1536 | 
| gr6.8xbesar | 1 | 24 | 32 | 256 | 

Anda dapat mengambil ID Amazon Machine Image (AMI) untuk Amazon ECS yang dioptimalkan AMIs dengan menanyakan Parameter Store API. AWS Systems Manager Dengan menggunakan parameter ini, Anda tidak perlu mencari AMI yang dioptimalkan Amazon ECS secara manual. IDs Untuk informasi selengkapnya tentang Systems Manager Parameter Store API, lihat [GetParameter](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_GetParameter.html). Pengguna yang Anda gunakan harus memiliki izin `ssm:GetParameter` IAM untuk mengambil metadata AMI Amazon ECS yang dioptimalkan.

```
aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
```

# Digunakan GPUs dengan Instans Terkelola Amazon ECS
<a name="managed-instances-gpu"></a>

Instans Terkelola Amazon ECS mendukung komputasi akselerasi GPU untuk beban kerja seperti pembelajaran mesin, komputasi berkinerja tinggi, dan pemrosesan video melalui jenis instans Amazon EC2 berikut. Untuk informasi selengkapnya tentang jenis instans yang didukung oleh Instans Terkelola Amazon ECS, lihat. [Tipe instans Instans Terkelola Amazon ECS](managed-instances-instance-types.md)

Berikut ini adalah subset tipe instans berbasis GPU yang didukung pada Instans Terkelola Amazon ECS:
+ `g4dn`: Didukung olehNVIDIA T4 GPUs, cocok untuk inferensi pembelajaran mesin, visi komputer, dan aplikasi grafis intensif.
+ `g5`: Didukung olehNVIDIA A10G GPUs, menawarkan kinerja yang lebih tinggi untuk aplikasi grafis intensif dan beban kerja pembelajaran mesin.
+ `p3`: Didukung olehNVIDIA V100 GPUs, dirancang untuk komputasi kinerja tinggi dan pelatihan pembelajaran mendalam.
+ `p4d`: Didukung olehNVIDIA A100 GPUs, menawarkan kinerja tertinggi untuk pelatihan pembelajaran mesin dan komputasi kinerja tinggi.

Saat Anda menggunakan jenis instans berkemampuan GPU dengan Instans Terkelola Amazon ECS, NVIDIA driver dan CUDA toolkit sudah diinstal sebelumnya pada instans, sehingga memudahkan menjalankan beban kerja yang dipercepat GPU.

## Pemilihan instans berkemampuan GPU
<a name="managed-instances-gpu-instance-selection"></a>

Untuk memilih jenis instans berkemampuan GPU untuk beban kerja Instans Terkelola Amazon ECS, gunakan `instanceRequirements` objek dalam templat peluncuran penyedia kapasitas. Cuplikan berikut menunjukkan atribut yang dapat digunakan untuk memilih instance berkemampuan GPU.

```
{
  "instanceRequirements": {
    "acceleratorTypes": "gpu",
    "acceleratorCount": 1,
    "acceleratorManufacturers": ["nvidia"]
  }
}
```

Cuplikan berikut menunjukkan atribut yang dapat digunakan untuk menentukan jenis instance berkemampuan GPU di template peluncuran.

```
{
  "instanceRequirements": {
    "allowedInstanceTypes": ["g4dn.xlarge", "p4de.24xlarge"]
  }
}
```

## Gambar kontainer berkemampuan GPU
<a name="managed-instances-gpu-container-images"></a>

Untuk digunakan GPUs dalam wadah Anda, Anda perlu menggunakan gambar kontainer yang berisi pustaka dan alat GPU yang diperlukan. NVIDIAmenyediakan beberapa gambar kontainer bawaan yang dapat Anda gunakan sebagai dasar untuk beban kerja GPU Anda, termasuk yang berikut ini:
+ `nvidia:cuda`: Gambar dasar dengan CUDA toolkit untuk komputasi GPU.
+ `tensorflow/tensorflow:latest-gpu`: TensorFlow dengan dukungan GPU.
+ `pytorch/pytorch:latest-cuda`: PyTorch dengan dukungan GPU.

Untuk contoh definisi tugas untuk Amazon ECS di Instans Terkelola Amazon ECS yang melibatkan penggunaan, lihat. GPUs [Menentukan GPUs dalam definisi tugas Amazon ECS](ecs-gpu-specifying.md)

## Pertimbangan-pertimbangan
<a name="gpu-considerations"></a>

**catatan**  
Dukungan untuk tipe keluarga instans g2 telah usang.  
Jenis keluarga instans p2 hanya didukung pada versi yang lebih awal dari AMI yang `20230912` dioptimalkan untuk GPU Amazon ECS. Jika Anda perlu terus menggunakan instance p2, lihat. [Apa yang harus dilakukan jika Anda membutuhkan instance P2](#p2-instance)  
Pembaruan NVIDIA/CUDA driver di tempat pada kedua tipe keluarga instans ini akan menyebabkan potensi kegagalan beban kerja GPU.

Kami menyarankan Anda mempertimbangkan hal berikut sebelum Anda mulai bekerja dengan GPUs Amazon ECS.
+ Klaster Anda dapat terdiri dari campuran GPU dan instans kontainer non-GPU.
+ Anda dapat menjalankan beban kerja GPU pada instance eksternal. Saat mendaftarkan instance eksternal dengan cluster Anda, pastikan `--enable-gpu` flag disertakan pada skrip instalasi. Untuk informasi selengkapnya, lihat [Mendaftarkan instans eksternal ke kluster Amazon ECS](ecs-anywhere-registration.md).
+ Anda harus mengatur `ECS_ENABLE_GPU_SUPPORT` ke `true` dalam file konfigurasi agen Anda. Untuk informasi selengkapnya, lihat [Konfigurasi agen kontainer Amazon ECS](ecs-agent-config.md).
+ Saat menjalankan tugas atau membuat layanan, Anda dapat menggunakan atribut tipe instance saat mengonfigurasi batasan penempatan tugas untuk menentukan instance kontainer tempat tugas akan diluncurkan. Dengan melakukan hal tersebut, Anda bisa lebih efektif menggunakan sumber daya Anda. Untuk informasi selengkapnya, lihat [Cara Amazon ECS Menempatkan Tugas di Instans Kontainer](task-placement.md).

  Contoh berikut meluncurkan tugas pada instans kontainer `g4dn.xlarge` di klaster default Anda.

  ```
  aws ecs run-task --cluster default --task-definition ecs-gpu-task-def \
       --placement-constraints type=memberOf,expression="attribute:ecs.instance-type ==  g4dn.xlarge" --region us-east-2
  ```
+ Untuk setiap kontainer yang memiliki persyaratan sumber daya GPU yang ditentukan dalam definisi kontainer, Amazon ECS menetapkan runtime kontainer menjadi runtime kontainer NVIDIA.
+ Runtime kontainer NVIDIA membutuhkan beberapa variabel lingkungan untuk disetel dalam wadah agar berfungsi dengan baik. Untuk daftar variabel lingkungan ini, lihat [Konfigurasi Khusus dengan Docker](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html?highlight=environment%20variable). Amazon ECS menetapkan nilai variabel `NVIDIA_VISIBLE_DEVICES` lingkungan menjadi daftar perangkat GPU yang ditetapkan IDs Amazon ECS ke wadah. Untuk variabel lingkungan lain yang diperlukan, Amazon ECS tidak mengaturnya. Jadi, pastikan image container Anda menyetelnya atau disetel dalam definisi container.
+ Keluarga tipe instans p5 didukung pada versi `20230929` dan yang lebih baru dari AMI yang dioptimalkan untuk GPU Amazon ECS. 
+ Keluarga tipe instans g4 didukung pada versi `20230913` dan yang lebih baru dari AMI yang dioptimalkan untuk GPU Amazon ECS. Untuk informasi selengkapnya, lihat [Linux Amazon ECS yang dioptimalkan AMIs](ecs-optimized_AMI.md). Ini tidak didukung dalam alur kerja Create Cluster di konsol Amazon ECS. Untuk menggunakan jenis instans ini, Anda harus menggunakan konsol Amazon EC2 AWS CLI, atau API dan mendaftarkan instans secara manual ke cluster Anda.
+ Tipe instans p4d.24xlarge hanya bekerja dengan CUDA 11 atau yang lebih baru.
+ AMI yang dioptimalkan oleh GPU Amazon ECS IPv6 telah diaktifkan, yang menyebabkan masalah saat menggunakan. `yum` Ini dapat diatasi dengan mengkonfigurasi `yum` untuk digunakan IPv4 dengan perintah berikut.

  ```
  echo "ip_resolve=4" >> /etc/yum.conf
  ```
+  Saat Anda membuat image kontainer yang tidak menggunakan gambar NVIDIA/CUDA dasar, Anda harus menyetel variabel runtime `NVIDIA_DRIVER_CAPABILITIES` container ke salah satu nilai berikut:
  + `utility,compute`
  + `all`

  Untuk informasi tentang cara mengatur variabel, lihat [Mengontrol Runtime Kontainer NVIDIA](https://sarus.readthedocs.io/en/stable/user/custom-cuda-images.html#controlling-the-nvidia-container-runtime) di situs web NVIDIA.
+ GPUs tidak didukung pada wadah Windows.

# Luncurkan instans kontainer GPU untuk Amazon ECS
<a name="gpu-launch"></a>

Untuk menggunakan instans GPU di Amazon ECS di Amazon EC2, Anda perlu membuat template peluncuran, file data pengguna, dan meluncurkan instance.

Anda kemudian dapat menjalankan tugas yang menggunakan definisi tugas yang dikonfigurasi untuk GPU.

## Menggunakan templat peluncuran
<a name="gpu-launch-template"></a>

Anda dapat membuat template peluncuran.
+ Buat template peluncuran yang menggunakan ID AMI GPU Amazon ECS yang dioptimalkan Untuk AMI. Untuk informasi tentang cara membuat templat peluncuran, lihat [Membuat templat peluncuran baru menggunakan parameter yang Anda tentukan](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#create-launch-template-define-parameters) di *Panduan Pengguna Amazon EC2*.

  Gunakan ID AMI dari langkah sebelumnya untuk **image Amazon Machine**. Untuk informasi tentang cara menentukan ID AMI dengan parameter Systems Manager, lihat [Menentukan parameter Systems Manager dalam template peluncuran](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-launch-template.html#use-an-ssm-parameter-instead-of-an-ami-id) di *Panduan Pengguna Amazon EC2*.

  Tambahkan yang berikut ini ke **data Pengguna** di template peluncuran. Ganti *cluster-name* dengan nama klaster Anda.

  ```
  #!/bin/bash
  echo ECS_CLUSTER=cluster-name >> /etc/ecs/ecs.config;
  echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config
  ```

## Gunakan AWS CLI
<a name="gpu-launch-cli"></a>

Anda dapat menggunakan AWS CLI untuk meluncurkan instance container.

1. Buat file yang dipanggil`userdata.toml`. File ini digunakan untuk data pengguna contoh. Ganti *cluster-name* dengan nama klaster Anda.

   ```
   #!/bin/bash
   echo ECS_CLUSTER=cluster-name >> /etc/ecs/ecs.config;
   echo ECS_ENABLE_GPU_SUPPORT=true >> /etc/ecs/ecs.config
   ```

1. Jalankan perintah berikut untuk mendapatkan ID AMI GPU. Anda menggunakan ini pada langkah berikut.

   ```
   aws ssm get-parameters --names /aws/service/ecs/optimized-ami/amazon-linux-2/gpu/recommended --region us-east-1
   ```

1. Jalankan perintah berikut untuk meluncurkan instance GPU. Ingatlah untuk mengganti parameter berikut:
   + Ganti *subnet* dengan ID subnet pribadi atau publik tempat instans Anda akan diluncurkan.
   + Ganti *gpu\$1ami* dengan ID AMI dari langkah sebelumnya.
   + Ganti *t3.large* dengan jenis instance yang ingin Anda gunakan.
   + Ganti *region* dengan kode Region.

   ```
   aws ec2 run-instances --key-name ecs-gpu-example \
      --subnet-id subnet \
      --image-id gpu_ami \
      --instance-type t3.large \
      --region region \
      --tag-specifications 'ResourceType=instance,Tags=[{Key=GPU,Value=example}]' \
      --user-data file://userdata.toml \
      --iam-instance-profile Name=ecsInstanceRole
   ```

1. Jalankan perintah berikut untuk memverifikasi bahwa instance container terdaftar ke cluster. Saat Anda menjalankan perintah ini, ingatlah untuk mengganti parameter berikut:
   + Ganti *cluster* dengan nama klaster Anda.
   + Ganti *region* dengan kode Wilayah Anda.

   ```
   aws ecs list-container-instances --cluster cluster-name --region region
   ```

# Menentukan GPUs dalam definisi tugas Amazon ECS
<a name="ecs-gpu-specifying"></a>

Untuk menggunakan instance GPUs on a container dan runtime GPU Docker, pastikan Anda menetapkan jumlah container yang dibutuhkan dalam definisi GPUs tugas. Saat wadah yang mendukung GPUs ditempatkan, agen kontainer Amazon ECS menyematkan jumlah fisik yang diinginkan GPUs ke wadah yang sesuai. Jumlah GPUs cadangan untuk semua kontainer dalam tugas tidak dapat melebihi jumlah yang tersedia GPUs pada instance kontainer tempat tugas diluncurkan. Untuk informasi selengkapnya, lihat [Membuat definisi tugas Amazon ECS menggunakan konsol](create-task-definition.md).

**penting**  
Jika persyaratan GPU Anda tidak ditentukan dalam ketentuan tugas, tugas akan menggunakan waktu aktif Docker default.

Berikut ini menunjukkan format JSON untuk persyaratan GPU dalam ketentuan tugas:

```
{
  "containerDefinitions": [
     {
        ...
        "resourceRequirements" : [
            {
               "type" : "GPU", 
               "value" : "2"
            }
        ],
     },
...
}
```

Contoh berikut menunjukkan sintaksis untuk kontainer Docker yang menentukan persyaratan GPU. Wadah ini menggunakan dua GPUs, menjalankan `nvidia-smi` utilitas, dan kemudian keluar.

```
{
  "containerDefinitions": [
    {
      "memory": 80,
      "essential": true,
      "name": "gpu",
      "image": "nvidia/cuda:11.0.3-base",
      "resourceRequirements": [
         {
           "type":"GPU",
           "value": "2"
         }
      ],
      "command": [
        "sh",
        "-c",
        "nvidia-smi"
      ],
      "cpu": 100
    }
  ],
  "family": "example-ecs-gpu"
}
```

Contoh definisi tugas berikut menunjukkan TensorFlow wadah yang mencetak jumlah yang tersedia GPUs. Tugas berjalan di Instans Terkelola Amazon ECS, memerlukan satu GPU, dan menggunakan instance. `g4dn.xlarge`

```
{
  "family": "tensorflow-gpu",
  "networkMode": "awsvpc",
  "executionRoleArn": "arn:aws:iam::account-id:role/ecsTaskExecutionRole",
  "containerDefinitions": [
    {
      "name": "tensorflow",
      "image": "tensorflow/tensorflow:latest-gpu",
      "essential": true,
      "command": [
        "python",
        "-c",
        "import tensorflow as tf; print('Num GPUs Available: ', len(tf.config.list_physical_devices('GPU')))"
      ],
      "resourceRequirements": [
        {
          "type": "GPU",
          "value": "1"
        }
      ],
      "logConfiguration": {
        "logDriver": "awslogs",
        "options": {
          "awslogs-group": "/ecs/tensorflow-gpu",
          "awslogs-region": "region",
          "awslogs-stream-prefix": "ecs"
        }
      }
    }
  ],
  "requiresCompatibilities": [
    "MANAGED_INSTANCES"
  ],
  "cpu": "4096",
  "memory": "8192",
}
```

## Bagikan GPUs
<a name="share-gpu"></a>

Saat Anda ingin berbagi GPUs, Anda perlu mengkonfigurasi yang berikut ini.

1. Hapus persyaratan sumber daya GPU dari definisi tugas Anda sehingga Amazon ECS tidak mencadangkan semua GPUs yang harus dibagikan.

1. Tambahkan data pengguna berikut ke instance Anda saat Anda ingin berbagi GPUs. Ini akan menjadikan nvidia sebagai runtime kontainer Docker default pada instance container sehingga semua container Amazon ECS dapat menggunakan. GPUs Untuk informasi selengkapnya, lihat [Menjalankan perintah saat Anda meluncurkan instans EC2 dengan input data pengguna](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) di Panduan Pengguna *Amazon EC2*.

   ```
   const userData = ec2.UserData.forLinux();
    userData.addCommands(
    'sudo rm /etc/sysconfig/docker',
    'echo DAEMON_MAXFILES=1048576 | sudo tee -a /etc/sysconfig/docker',
    'echo OPTIONS="--default-ulimit nofile=32768:65536 --default-runtime nvidia" | sudo tee -a /etc/sysconfig/docker',
    'echo DAEMON_PIDFILE_TIMEOUT=10 | sudo tee -a /etc/sysconfig/docker',
    'sudo systemctl restart docker',
   );
   ```

1. Atur variabel `NVIDIA_VISIBLE_DEVICES` lingkungan pada wadah Anda. Anda dapat melakukan ini dengan menentukan variabel lingkungan dalam definisi tugas Anda. Untuk informasi tentang nilai yang valid, lihat [Pencacahan GPU](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/docker-specialized.html#gpu-enumeration) di situs dokumentasi NVIDIA.

## Apa yang harus dilakukan jika Anda membutuhkan instance P2
<a name="p2-instance"></a>

Jika Anda perlu menggunakan instance P2, Anda dapat menggunakan salah satu opsi berikut untuk terus menggunakan instance.

Anda harus memodifikasi data pengguna instance untuk kedua opsi. Untuk informasi selengkapnya, lihat [Menjalankan perintah saat Anda meluncurkan instans EC2 dengan input data pengguna](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/user-data.html) di Panduan Pengguna *Amazon EC2*.

**Gunakan AMI yang dioptimalkan GPU terakhir yang didukung**

Anda dapat menggunakan `20230906` versi AMI yang dioptimalkan untuk GPU, dan menambahkan yang berikut ini ke data pengguna instance.

Ganti nama cluster dengan nama cluster Anda.

```
#!/bin/bash
echo "exclude=*nvidia* *cuda*" >> /etc/yum.conf
echo "ECS_CLUSTER=cluster-name" >> /etc/ecs/ecs.config
```

**Gunakan AMI terbaru yang dioptimalkan untuk GPU, dan perbarui data pengguna**

Anda dapat menambahkan berikut ini ke data pengguna instance. Ini menghapus instalasi driver Nvidia 535/Cuda12.2, dan kemudian menginstal driver Nvidia 470/Cuda11.4 dan memperbaiki versi.

```
#!/bin/bash
yum remove -y cuda-toolkit* nvidia-driver-latest-dkms*
tmpfile=$(mktemp)
cat >$tmpfile <<EOF
[amzn2-nvidia]
name=Amazon Linux 2 Nvidia repository
mirrorlist=\$awsproto://\$amazonlinux.\$awsregion.\$awsdomain/\$releasever/amzn2-nvidia/latest/\$basearch/mirror.list
priority=20
gpgcheck=1
gpgkey=https://developer.download.nvidia.com/compute/cuda/repos/rhel7/x86_64/7fa2af80.pub
enabled=1
exclude=libglvnd-*
EOF

mv $tmpfile /etc/yum.repos.d/amzn2-nvidia-tmp.repo
yum install -y system-release-nvidia cuda-toolkit-11-4 nvidia-driver-latest-dkms-470.182.03
yum install -y libnvidia-container-1.4.0 libnvidia-container-tools-1.4.0 nvidia-container-runtime-hook-1.4.0 docker-runtime-nvidia-1

echo "exclude=*nvidia* *cuda*" >> /etc/yum.conf
nvidia-smi
```

**Buat AMI yang dioptimalkan dengan GPU yang kompatibel dengan P2 Anda sendiri**

Anda dapat membuat AMI yang dioptimalkan untuk GPU Amazon ECS kustom Anda sendiri yang kompatibel dengan instans P2, lalu meluncurkan instans P2 menggunakan AMI.

1. Jalankan perintah berikut untuk mengkloning file. `amazon-ecs-ami repo`

   ```
   git clone https://github.com/aws/amazon-ecs-ami
   ```

1. Tetapkan agen Amazon ECS yang diperlukan dan sumber versi AMI Amazon Linux di `release.auto.pkrvars.hcl` atau`overrides.auto.pkrvars.hcl`.

1. Jalankan perintah berikut untuk membangun AMI EC2 yang kompatibel dengan P2 pribadi.

   Ganti region dengan Region dengan instance Region.

   ```
   REGION=region make al2keplergpu
   ```

1. Gunakan AMI dengan data pengguna instans berikut untuk menyambung ke klaster Amazon ECS.

   Ganti nama cluster dengan nama cluster Anda.

   ```
   #!/bin/bash
   echo "ECS_CLUSTER=cluster-name" >> /etc/ecs/ecs.config
   ```