GPUsMonitora con CloudWatch - AWS Deep Learning AMIs

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à.

GPUsMonitora con CloudWatch

Quando utilizzi your DLAMI with a, GPU potresti scoprire che stai cercando modi per monitorarne l'utilizzo durante l'addestramento o l'inferenza. Questo può essere utile per ottimizzare la data pipeline e regolare la rete di deep learning.

Esistono due modi per configurare le GPU metriche con: CloudWatch

Configura le metriche con l' AWS CloudWatch agente (consigliato)

Integra il tuo DLAMI con l' CloudWatch agente unificato per configurare i GPU parametri e monitorare l'utilizzo dei GPU coprocessi nelle istanze accelerate di AmazonEC2.

Esistono quattro modi per configurare le metriche con: GPU DLAMI

Per informazioni sugli aggiornamenti e le patch di sicurezza, consulta Applicazione di patch di sicurezza per l'agente AWS CloudWatch

Prerequisiti

Per iniziare, devi configurare le IAM autorizzazioni dell'EC2istanza Amazon che consentano all'istanza di inviare parametri a. CloudWatch Per i passaggi dettagliati, consulta Creare IAM ruoli e utenti da utilizzare con l' CloudWatch agente.

Configura GPU metriche minime

Configura GPU metriche minime utilizzando il dlami-cloudwatch-agent@minimal systemd servizio. Questo servizio configura le seguenti metriche:

  • utilization_gpu

  • utilization_memory

Puoi trovare il systemd servizio per le GPU metriche minime preconfigurate nella seguente posizione:

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-minimal.json

Abilita e avvia il systemd servizio con i seguenti comandi:

sudo systemctl enable dlami-cloudwatch-agent@minimal sudo systemctl start dlami-cloudwatch-agent@minimal

Configura GPU metriche parziali

Configura le GPU metriche parziali utilizzando il dlami-cloudwatch-agent@partial systemd servizio. Questo servizio configura le seguenti metriche:

  • utilization_gpu

  • utilization_memory

  • memory_total

  • memory_used

  • memory_free

Puoi trovare il systemd servizio per le GPU metriche preconfigurate parziali nella seguente posizione:

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-partial.json

Abilita e avvia il systemd servizio con i seguenti comandi:

sudo systemctl enable dlami-cloudwatch-agent@partial sudo systemctl start dlami-cloudwatch-agent@partial

Configura tutte le GPU metriche disponibili

Configura tutte le GPU metriche disponibili utilizzando il dlami-cloudwatch-agent@all systemd servizio. Questo servizio configura le seguenti metriche:

  • utilization_gpu

  • utilization_memory

  • memory_total

  • memory_used

  • memory_free

  • temperature_gpu

  • power_draw

  • fan_speed

  • pcie_link_gen_current

  • pcie_link_width_current

  • encoder_stats_session_count

  • encoder_stats_average_fps

  • encoder_stats_average_latency

  • clocks_current_graphics

  • clocks_current_sm

  • clocks_current_memory

  • clocks_current_video

Puoi trovare il systemd servizio per tutte le GPU metriche preconfigurate disponibili nella seguente posizione:

/opt/aws/amazon-cloudwatch-agent/etc/dlami-amazon-cloudwatch-agent-all.json

Abilita e avvia il systemd servizio con i seguenti comandi:

sudo systemctl enable dlami-cloudwatch-agent@all sudo systemctl start dlami-cloudwatch-agent@all

Configura GPU metriche personalizzate

Se le metriche preconfigurate non soddisfano i tuoi requisiti, puoi creare un file di configurazione CloudWatch dell'agente personalizzato.

Crea un file di configurazione personalizzato

Per creare un file di configurazione personalizzato, consulta i passaggi dettagliati in Creare o modificare manualmente il file di configurazione dell' CloudWatch agente.

Per questo esempio, supponiamo che la definizione dello schema si trovi in/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json.

Configura le metriche con il tuo file personalizzato

Esegui il comando seguente per configurare l' CloudWatch agente in base al tuo file personalizzato:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl \ -a fetch-config -m ec2 -s -c \ file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json

Applicazione di patch di sicurezza per l'agente AWS CloudWatch

Le nuove versioni DLAMIs sono configurate con le ultime patch di sicurezza disponibili per gli AWS CloudWatch agenti. Consultate le seguenti sezioni per aggiornare la versione corrente DLAMI con le patch di sicurezza più recenti, a seconda del sistema operativo scelto.

Amazon Linux 2

yumUsalo per ottenere le patch di sicurezza degli AWS CloudWatch agenti più recenti per Amazon Linux 2DLAMI.

sudo yum update

Ubuntu

Per ottenere le patch AWS CloudWatch di sicurezza più recenti per un DLAMI con Ubuntu, è necessario reinstallare l' AWS CloudWatch agente utilizzando un link per il download di Amazon S3.

wget https://s3.region.amazonaws.com/amazoncloudwatch-agent-region/ubuntu/arm64/latest/amazon-cloudwatch-agent.deb

Per ulteriori informazioni sull'installazione dell' AWS CloudWatch agente utilizzando i link per il download di Amazon S3, consulta Installazione ed esecuzione dell' CloudWatch agente sui server.

Configura le metriche con lo script preinstallato gpumon.py

Un'utilità chiamata gpumon.py è preinstallata sul tuo. DLAMI Si integra CloudWatch e supporta il monitoraggio del periodo di GPU utilizzo: GPU memoria, GPU temperatura e GPU alimentazione. Lo script invia periodicamente i dati monitorati a CloudWatch. È possibile configurare il livello di granularità dei dati a cui vengono inviati CloudWatch modificando alcune impostazioni nello script. Prima di avviare lo script, tuttavia, è necessario configurarlo per CloudWatch ricevere le metriche.

Come configurare ed eseguire il GPU monitoraggio con CloudWatch
  1. Crea un IAM utente o modificane uno esistente per avere una politica su cui pubblicare la metrica. CloudWatch Se crei un nuovo utente, prendi nota delle credenziali poiché saranno necessarie nella fase successiva.

    La IAM policy da cercare è «cloudwatch:». PutMetricData La policy che viene aggiunta è la seguente:

    { "Version": "2012-10-17", "Statement": [ { "Action": [ "cloudwatch:PutMetricData" ], "Effect": "Allow", "Resource": "*" } ] }
  2. Sul tuoDLAMI, esegui AWS configure e specifica le credenziali IAM dell'utente.

    $ aws configure
  3. Potrebbe essere necessario apportare alcune modifiche all'utilità gpumon prima di eseguirla. È possibile trovare l'utilità gpumon e README nella posizione definita nel seguente blocco di codice. Per ulteriori informazioni sullo gpumon.py script, consulta la posizione dello script in Amazon S3.

    Folder: ~/tools/GPUCloudWatchMonitor Files: ~/tools/GPUCloudWatchMonitor/gpumon.py ~/tools/GPUCloudWatchMonitor/README

    Opzioni:

    • Cambia la regione in gpumon.py se la tua istanza è NOT in us-east-1.

    • Modifica altri parametri come il periodo CloudWatch namespace di riferimento con. store_reso

  4. Attualmente lo script supporta solo Python 3. Attiva l'ambiente Python 3 del tuo framework preferito o attiva l'ambiente DLAMI Python 3 generale.

    $ source activate python3
  5. Esegui l'utilità gpumon in background.

    (python3)$ python gpumon.py &
  6. Apri il browser e https://console.aws.amazon.com/cloudwatch/seleziona la metrica. Avrà un namespace ''. DeepLearningTrain

    Suggerimento

    Puoi cambiare lo spazio dei nomi modificando gpumon.py. Puoi anche modificare l'intervallo di reporting regolando store_reso.

Di seguito è riportato un esempio di CloudWatch grafico che riporta un'esecuzione di gpumon.py che monitora un processo di formazione sull'istanza p2.8xlarge.

GPUmonitoraggio su CloudWatch

Potrebbero interessarti questi altri argomenti sul GPU monitoraggio e l'ottimizzazione: