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, Instans
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
ketrue
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 menggunakan
yum
. Ini dapat diatasi dengan mengkonfigurasiyum
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
-
Jalankan perintah berikut untuk mengkloning file.
amazon-ecs-ami repo
git clone https://github.com/aws/amazon-ecs-ami
-
Tetapkan ECS agen Amazon yang diperlukan dan sumber AMI versi Amazon Linux di
release.auto.pkrvars.hcl
atauoverrides.auto.pkrvars.hcl
. -
Jalankan perintah berikut untuk membangun P2 pribadi yang kompatibel EC2AMI.
Ganti region dengan Region dengan instance Region.
REGION=
region
make al2keplergpu -
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