Definizioni di lavoro di esempio - AWS Batch

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Definizioni di lavoro di esempio

Le seguenti definizioni dei processi di esempio illustrano come utilizzare modelli comuni, quali variabili di ambiente, sostituzione di parametri e montaggi di volume.

Usa variabili di ambiente

L'esempio seguente di definizione del processo utilizza variabili di ambiente per specificare un tipo di file e un URL Amazon S3. Questo esempio specifico è disponibile nel post del blog sul calcolo dedicato alla creazione di un processo AWS Batch "Fetch & Run" semplice. Lo fetch_and_run.shscript descritto nel post del blog utilizza queste variabili di ambiente per scaricare myjob.sh lo script da S3 e dichiararne il tipo di file.

Anche se le variabili di comando e ambiente sono codificate nella definizione del processo in questo esempio, puoi specificare le sostituzioni delle variabili di comando e ambiente per rendere la definizione del processo più versatile.

{ "jobDefinitionName": "fetch_and_run", "type": "container", "containerProperties": { "image": "123456789012.dkr.ecr.us-east-1.amazonaws.com/fetch_and_run", "resourceRequirements": [ { "type": "MEMORY", "value": "2000" }, { "type": "VCPU", "value": "2" } ], "command": [ "myjob.sh", "60" ], "jobRoleArn": "arn:aws:iam::123456789012:role/AWSBatchS3ReadOnly", "environment": [ { "name": "BATCH_FILE_S3_URL", "value": "s3://my-batch-scripts/myjob.sh" }, { "name": "BATCH_FILE_TYPE", "value": "script" } ], "user": "nobody" } }

Utilizzo della sostituzione dei parametri

La seguente definizione di processo di esempio illustra come permettere la sostituzione dei parametri e impostare valori predefiniti.

Le dichiarazioni Ref:: nella sezione command vengono utilizzate per impostare segnaposto per la sostituzione dei parametri. Quando si invia un processo con questa definizione, è necessario specificare le sostituzioni di parametro per popolare tali valori, ad esempio inputfile e outputfile. La parameters sezione che segue imposta un parametro predefinito percodec, ma è possibile sovrascriverlo in base alle esigenze.

Per ulteriori informazioni, consulta Parametri.

{ "jobDefinitionName": "ffmpeg_parameters", "type": "container", "parameters": {"codec": "mp4"}, "containerProperties": { "image": "my_repo/ffmpeg", "resourceRequirements": [ { "type": "MEMORY", "value": "2000" }, { "type": "VCPU", "value": "2" } ], "command": [ "ffmpeg", "-i", "Ref::inputfile", "-c", "Ref::codec", "-o", "Ref::outputfile" ], "jobRoleArn": "arn:aws:iam::123456789012:role/ECSTask-S3FullAccess", "user": "nobody" } }

Verifica la funzionalità della GPU

Il seguente esempio di definizione di processo verifica se l'AMI per i carichi di lavoro su GPU descritta in Utilizzo di un'AMI per carichi di lavoro GPU è stata impostata correttamente. Questa definizione di lavoro di esempio esegue l'esempio del classificatore TensorFlow Deep MNIST da. GitHub

{ "containerProperties": { "image": "tensorflow/tensorflow:1.8.0-devel-gpu", "resourceRequirements": [ { "type": "MEMORY", "value": "32000" }, { "type": "VCPU", "value": "8" } ], "command": [ "sh", "-c", "cd /tensorflow/tensorflow/examples/tutorials/mnist; python mnist_deep.py" ] }, "type": "container", "jobDefinitionName": "tensorflow_mnist_deep" }

È possibile creare un file con il testo JSON precedente chiamato tensorflow_mnist_deep.json e quindi registrare una definizione di AWS Batch processo con il seguente comando:

aws batch register-job-definition --cli-input-json file://tensorflow_mnist_deep.json

Job parallelo multinodo

La definizione del processo di esempio seguente illustra un processo parallelo multi-nodo. Per ulteriori informazioni, consulta Creazione di un flusso di lavoro di dinamica molecolare strettamente accoppiato con lavori paralleli a più nodi AWS BatchAWS nel blog Compute.

{ "jobDefinitionName": "gromacs-jobdef", "jobDefinitionArn": "arn:aws:batch:us-east-2:123456789012:job-definition/gromacs-jobdef:1", "revision": 6, "status": "ACTIVE", "type": "multinode", "parameters": {}, "nodeProperties": { "numNodes": 2, "mainNode": 0, "nodeRangeProperties": [ { "targetNodes": "0:1", "container": { "image": "123456789012.dkr.ecr.us-east-2.amazonaws.com/gromacs_mpi:latest", "resourceRequirements": [ { "type": "MEMORY", "value": "24000" }, { "type": "VCPU", "value": "8" } ], "command": [], "jobRoleArn": "arn:aws:iam::123456789012:role/ecsTaskExecutionRole", "ulimits": [], "instanceType": "p3.2xlarge" } } ] } }