View a markdown version of this page

Menentukan GPU dalam definisi tugas Amazon ECS - Amazon Elastic Container Service

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

Menentukan GPU dalam definisi tugas Amazon ECS

Untuk menggunakan GPU pada instance container dan runtime GPU Docker, pastikan Anda menetapkan jumlah GPU yang dibutuhkan container Anda dalam definisi tugas. Saat wadah yang mendukung GPU ditempatkan, agen kontainer Amazon ECS menyematkan jumlah GPU fisik yang diinginkan ke wadah yang sesuai. Jumlah GPU yang dicadangkan untuk semua kontainer dalam tugas tidak dapat melebihi jumlah GPU yang tersedia pada instance container tempat tugas diluncurkan. Untuk informasi selengkapnya, lihat Membuat definisi tugas Amazon ECS menggunakan konsol.

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 GPU, 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 GPU yang tersedia. 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", }