Definisi ECS tugas Amazon untuk beban GPU kerja - Amazon Elastic Container Service

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

Definisi ECS tugas Amazon untuk beban GPU kerja

Amazon ECS mendukung beban kerja yang digunakanGPUs, saat Anda membuat cluster dengan instance container yang mendukung. GPUs Instance container EC2 GPU berbasis Amazon yang menggunakan tipe instans p2, p3, p5, g3, g4, dan g5 menyediakan akses ke. NVIDIA GPUs Untuk informasi selengkapnya, lihat Instans Komputasi Akselerasi Linux di Panduan EC2 Pengguna Amazon.

Amazon ECS menyediakan GPU -optimasi yang dilengkapi dengan driver NVIDIA kernel AMI yang telah dikonfigurasi sebelumnya dan runtime GPU Docker. Untuk informasi selengkapnya, lihat Linux yang ECS dioptimalkan Amazon AMIs.

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.

Jenis instans EC2 GPU berbasis Amazon berikut didukung. Untuk informasi selengkapnya, lihat Instans Amazon EC2 P2, InstansAmazon EC2 P3, Instans Amazon P4d, Instans EC2 AmazonP5, Instans EC2 Amazon G3, Instans Amazon G4, Instans EC2 Amazon G5 EC2, dan Instans Amazon G6. EC2 EC2

Jenis instans GPUs GPUmemori (GiB) vCPUs 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 48 192
g6.48xlarge 8 192 192 768
g6.logam 8 192 192 768
gr6.4xbesar 1 24 16 128
gr6.8xbesar 1 24 32 256

Anda dapat mengambil ID Amazon Machine Image (AMI) untuk Amazon yang ECS dioptimalkan AMIs dengan menanyakan Parameter Store. AWS Systems Manager API Dengan menggunakan parameter ini, Anda tidak perlu mencari Amazon yang ECS dioptimalkan AMI IDs secara manual. Untuk informasi selengkapnya tentang Parameter Store Systems ManagerAPI, lihat GetParameter. Pengguna yang Anda gunakan harus memiliki ssm:GetParameter IAM izin untuk mengambil metadata yang ECS dioptimalkan AMI Amazon.

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

Pertimbangan

catatan

Dukungan untuk tipe keluarga instans g2 telah usang.

Jenis keluarga instans p2 hanya didukung pada versi yang lebih awal 20230912 dari yang dioptimalkan Amazon ECSGPU. AMI Jika Anda perlu terus menggunakan instance p2, lihat. Apa yang harus dilakukan jika Anda membutuhkan instance P2

Pembaruan CUDA driverNVIDIA/di tempat pada kedua tipe keluarga instance ini akan menyebabkan potensi kegagalan GPU beban kerja.

Kami menyarankan Anda mempertimbangkan hal berikut sebelum Anda mulai bekerja dengan GPUs di AmazonECS.

  • Cluster Anda dapat berisi campuran instance GPU dan GPU non-kontainer.

  • Anda dapat menjalankan GPU beban kerja 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 ECS klaster Amazon.

  • Anda harus mengatur ECS_ENABLE_GPU_SUPPORT ke true dalam file konfigurasi agen Anda. Untuk informasi selengkapnya, lihat Konfigurasi agen ECS kontainer Amazon.

  • 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 Bagaimana Amazon ECS menempatkan tugas pada instance kontainer.

    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 container yang memiliki persyaratan GPU resource yang ditentukan dalam definisi container, Amazon ECS menetapkan runtime container menjadi runtime NVIDIA container.

  • Runtime NVIDIA kontainer membutuhkan beberapa variabel lingkungan untuk disetel dalam wadah agar berfungsi dengan baik. Untuk daftar variabel lingkungan ini, lihat Konfigurasi Khusus dengan Docker. Amazon ECS menetapkan nilai variabel NVIDIA_VISIBLE_DEVICES lingkungan menjadi daftar GPU perangkat IDs yang ditetapkan Amazon ECS ke wadah. Untuk variabel lingkungan lain yang diperlukan, Amazon ECS tidak mengaturnya. Jadi, pastikan gambar kontainer Anda menyetelnya atau disetel dalam definisi kontainer.

  • Keluarga tipe instans p5 didukung pada versi 20230929 dan yang lebih baru dari Amazon ECS GPU yang dioptimalkan. AMI

  • Keluarga tipe instans g4 didukung pada versi 20230913 dan yang lebih baru dari Amazon ECS GPU yang dioptimalkan. AMI Untuk informasi selengkapnya, lihat Linux yang ECS dioptimalkan Amazon AMIs. Ini tidak didukung dalam alur kerja Create Cluster di ECS konsol Amazon. Untuk menggunakan jenis instans ini, Anda harus menggunakan EC2 konsol Amazon AWS CLI, atau API mendaftarkan instans secara manual ke klaster Anda.

  • Jenis instans p4d.24xlarge hanya berfungsi dengan 11 atau lebih baru. CUDA

  • Amazon ECS GPU -optimized AMI telah IPv6 diaktifkan, yang menyebabkan masalah saat menggunakanyum. 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 CUDA dasarNVIDIA/, Anda harus menyetel variabel runtime NVIDIA_DRIVER_CAPABILITIES container ke salah satu nilai berikut:

    • utility,compute

    • all

    Untuk informasi tentang cara menyetel variabel, lihat Mengontrol Runtime NVIDIA Kontainer di NVIDIA situs web.

  • GPUstidak didukung pada wadah Windows.

Apa yang harus dilakukan jika Anda membutuhkan instance P2

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 Bekerja dengan data pengguna instans di Panduan EC2 Pengguna Amazon.

Gunakan yang terakhir didukung GPU -optimasi AMI

Anda dapat menggunakan 20230906 versi yang GPU dioptimalkanAMI, 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 yang GPU dioptimalkan terbaruAMI, 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 P2 Anda sendiri yang kompatibel GPU -dioptimalkan AMI

Anda dapat membuat sendiri Amazon yang ECS GPU dioptimalkan khusus AMI 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
  2. Tetapkan ECS agen Amazon yang diperlukan dan sumber AMI versi Amazon Linux di release.auto.pkrvars.hcl atauoverrides.auto.pkrvars.hcl.

  3. Jalankan perintah berikut untuk membangun P2 pribadi yang kompatibel EC2AMI.

    Ganti region dengan Region dengan instance Region.

    REGION=region make al2keplergpu
  4. Gunakan data pengguna instance berikut ini untuk menyambung ke ECS klaster Amazon. AMI

    Ganti nama cluster dengan nama cluster Anda.

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