Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Bekerja dengan GPU di Amazon ECS
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 GPU NVIDIA. Untuk informasi selengkapnya, lihat Instans Komputasi Akselerasi Linux di Panduan Pengguna Amazon EC2 untuk Instans Linux.
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 AMI Amazon ECS yang dioptimalkan.
Anda dapat menunjuk sejumlah GPU dalam definisi tugas Anda untuk pertimbangan penempatan tugas di tingkat kontainer. Amazon ECS menjadwalkan instans kontainer yang tersedia yang mendukung GPU dan menyematkan GPU fisik ke wadah yang tepat untuk kinerja optimal.
Berikut tipe instans Amazon EC2 berbasis GPU yang didukung. Untuk informasi selengkapnya, lihat Instans Amazon EC2 P2, Instans P3 Amazon
Jenis instans |
GPU |
Memori GPU (GiB) |
vCPU |
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 |
Anda dapat mengambil ID Amazon Machine Image (AMI) untuk AMI yang dioptimalkan Amazon ECS dengan menanyakan API Parameter Store. AWS Systems Manager Dengan menggunakan parameter ini, Anda tidak perlu mencari ID AMI yang dioptimalkan Amazon ECS secara manual. Untuk informasi selengkapnya tentang Systems Manager Parameter Store API, lihat GetParameter. 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
Pertimbangan
catatan
Dukungan untuk tipe keluarga instans g2 telah usang. Jenis keluarga instans g2 hanya didukung pada versi yang lebih awal dari AMI yang 20230906
dioptimalkan untuk GPU Amazon ECS.
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
Pembaruan driver NVIDIA/CUDA di tempat pada kedua jenis keluarga instance ini akan menyebabkan potensi kegagalan beban kerja GPU.
Kami menyarankan Anda mempertimbangkan hal berikut sebelum Anda mulai bekerja dengan GPU di 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 Pendaftaran instans eksternal ke sebuah klaster. -
Anda harus mengatur
ECS_ENABLE_GPU_SUPPORT
ketrue
dalam file konfigurasi agen Anda. Untuk informasi selengkapnya, lihat Konfigurasi agen kontainer Amazon ECS. -
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 instans 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 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
. Amazon ECS menetapkan nilai variabel NVIDIA_VISIBLE_DEVICES
lingkungan menjadi daftar ID perangkat GPU yang ditetapkan Amazon ECS ke penampung. 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 AMI Amazon ECS yang dioptimalkan. 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 untuk GPU Amazon ECS mengaktifkan IPv6, yang menyebabkan masalah saat menggunakan.
yum
Hal ini dapat diatasi dengan mengonfigurasiyum
untuk menggunakan IPv4 dengan perintah berikut.echo "ip_resolve=4" >> /etc/yum.conf
-
Saat Anda membuat gambar kontainer yang tidak menggunakan gambar dasar NVIDIA/CUDA, Anda harus menyetel variabel runtime
NVIDIA_DRIVER_CAPABILITIES
kontainer ke salah satu nilai berikut:-
utility,compute
-
all
Untuk informasi tentang cara mengatur variabel, lihat Mengontrol Runtime Kontainer NVIDIA
di situs web NVIDIA. -
-
GPU tidak 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 Pengguna Amazon EC2 untuk Instans Linux.
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.
-
Jalankan perintah berikut untuk mengkloning file.
amazon-ecs-ami repo
git clone https://github.com/aws/amazon-ecs-ami
-
Tetapkan agen Amazon ECS yang diperlukan dan sumber versi AMI Amazon Linux di
release.auto.pkrvars.hcl
atauoverrides.auto.pkrvars.hcl
. -
Jalankan perintah berikut untuk membangun AMI EC2 yang kompatibel dengan P2 pribadi.
Ganti region dengan Region dengan instance Region.
REGION=
region
make al2keplergpu -
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