View a markdown version of this page

Configurazione delle impostazioni GRES personalizzate in AWS 2 PEZZI - AWS PEZZI

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

Configurazione delle impostazioni GRES personalizzate in AWS 2 PEZZI

Slurm utilizza gres.conf per gestire le risorse generiche (GRES), come GPU, dispositivi di Multi-Process servizio (MPS) e Multi-Instance GPU (MIG), sui nodi di calcolo. AWS PCS consente di personalizzare gres.conf tramite la gresCustomSettings proprietà durante la creazione o l'aggiornamento del gruppo di nodi di calcolo. slurmConfiguration

A differenza di altre impostazioni personalizzate, che sono un elenco semplice di coppie di parametri e valori, gresCustomSettings è un elenco di record. Ogni record è un insieme di gres.conf attributi che descrive un dispositivo o una risorsa GRES. Ad esempio, il record Name=gpu Type=a100 File=/dev/nvidia[0-7] dichiara otto GPU A100.

In Slurm, un gres.conf record si applica a tutti i nodi del cluster a meno che non specifichi un prefisso. NodeName= AWS PCS aggiunge sempre il NodeName= prefisso per il gruppo di nodi di calcolo, quindi non è necessario specificarlo e ogni record fornito si applica solo a quel gruppo di nodi di calcolo. AWS PCS non supporta i record a livello di cluster. gres.conf

Configurazione delle impostazioni gres.conf

gres.confle impostazioni personalizzate possono essere configurate tramite AWS Console, CLI o SDK durante la creazione del gruppo di nodi di calcolo o modificate successivamente tramite operazioni di aggiornamento.

Console di gestione AWS

Passa a Impostazioni aggiuntive dello scheduler nella pagina di creazione o modifica di una risorsa del gruppo di nodi di calcolo. Inserisci un gres.conf record per riga, in gres.conf formato nativo (ad esempio,Name=gpu Type=a100 File=/dev/nvidia[0-7]).

AWS CLI

Per la gestione programmatica delle gres.conf impostazioni, utilizza il gresCustomSettings campo in creazione o aggiornamento delle operazioni di creazione o aggiornamento dei gruppi di nodi di calcolo. Ogni elemento dell'elenco è un gres.conf record.

Esempio— Dichiarazione dei dispositivi GPU su un gruppo di nodi di calcolo
aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng-1 \ --slurm-configuration \ 'gresCustomSettings=[{Name=gpu,Type=a100,File=/dev/nvidia[0-7]}]'

Impostazioni gres.conf supportate per i gruppi di nodi di calcolo

I seguenti gres.conf attributi sono supportati in ogni record a livello di gruppo di nodi di calcolo:

Per il significato e i valori accettati di ciascun attributo, consulta la documentazione di Slurm gres.conf. AWS PCS convalida i tuoi record in base alle stesse regole applicate da Slurm. In particolare, ogni record deve dichiarare un valore Name o un AutoDetect valore attivo e un record GPU (Name=gpu) deve specificare File o a MultipleFiles meno che un valore attivo AutoDetect non rilevi i dispositivi.

Un AutoDetect valore attivo è qualsiasi valore che attiva il rilevamento, ad esempio o. nvml full AutoDetect=offdisattiva il rilevamento, quindi non è un valore attivo e non può essere isolato in un record.

In che modo AWS PCS applica i tuoi record gres.conf

Una configurazione GRES appare in due punti nella configurazione di Slurm e PCS li scrive entrambi: AWS

  • I gres.conf record forniti gresCustomSettings descrivono i dispositivi presenti nel nodo.

  • L'Gresimpostazione in slurm.conf dichiara ciò che lo scheduler può allocare, nel modulo. name[:type]:count La fornisci come impostazione Slurm personalizzata per il gruppo di nodi di calcolo, in. slurmCustomSettings Per ulteriori informazioni, consulta Impostazioni Slurm personalizzate per AWS Gruppi di nodi di calcolo PCS.

AWS PCS esegue il rendering dei tuoi record gres.conf e li riconcilia con la configurazione GRES che gestisce:

  • Qualsiasi record GPU dichiarato sostituisce il record GPU predefinito generato da PCS per il gruppo di nodi di calcolo. AWS Un record GPU è un record che specifica o un attributo. Name=gpu AutoDetect

  • I record relativi ad altre risorse, ad esempio mpsshard, o il nome di una risorsa personale, vengono aggiunti insieme ai valori predefiniti del AWS PCS.

  • AWS PCS ricava l'GresTypesimpostazione e le gres/* immissioni delle AccountingStorageTRES impostazioni slurm.conf dall'impostazione. Gres

Su Slurm versione 26.05 e successive, AWS PCS imposta AutoDetect=full per impostazione predefinita i gruppi di nodi di calcolo della GPU quando il layout del socket del nodo è noto, perché è stato impostato Sockets slurmCustomSettings per il gruppo di nodi di calcolo o perché AWS PCS ha rilevato automaticamente la topologia della CPU. Quando il layout del socket non è disponibile, AWS PCS emette invece il record GPU senza. AutoDetect

Vincoli tra gres.conf e l'impostazione Gres

Slurm ha bisogno di entrambi i lati della configurazione GRES per pianificare una risorsa e una risorsa che appare solo in uno di essi non funziona. Una voce nell'Gresslurm.confimpostazione senza alcun gres.conf record fa sì che il nodo registri un numero di risorse inferiore a quelle configurate e il nodo si esaurisce. Un record senza Gres immissione lascia il dispositivo presente nel nodo ma non programmabile.

AWS PCS li convalida l'uno contro l'altro quando si crea o si aggiorna un gruppo di nodi di calcolo e rifiuta la richiesta nei seguenti casi:

  • Una slurm.conf Gres voce nomina una risorsa dichiarata da nessun record. gres.conf Ciò includegpu: una gpu voce richiede l'inserimento di un record GPUgresCustomSettings, anche se il conteggio è pari. 0

  • Una slurm.conf Gres voce dichiara un numero di risorse superiore a quello dichiarato dai gres.conf record. È consentito un conteggio inferiore, fino a0: i gres.conf record descrivono i dispositivi presenti sul nodo, mentre Gres dichiarano quanti di essi lo scheduler può allocare.

  • Una slurm.conf Gres voce specifica un tipo di GPU in cui nessun record GPU dichiara. gres.conf

Gli ultimi due controlli dipendono da ciò che dichiarano i tuoi record. AWS Il PCS non è in grado di contare i dispositivi rilevati da Slurm all'avvio del nodo, quindi un record abilitato AutoDetect accetta solo qualsiasi gpu conteggio e tipo nella voce. Gres In questo modo i profili MIG superano la convalida. AWS PCS salta inoltre il controllo del conteggio dei GRES (mpseshard) condivisi e salta il controllo del tipo quando un record GPU dichiara no. Type

AWS PCS accetta un record che non contiene alcuna voce corrispondente. Gres La risorsa esiste nel nodo, ma i job non possono richiederla. Aggiungi la Gres voce per renderla programmabile.

Importante

AWS PCS convalida la sintassi dei record e la loro coerenza con l'impostazione. Gres Non li convalida rispetto all'hardware. Un record il cui FileCores, o il cui Links layout non corrisponde ai dispositivi sul nodo avviato, fa sì che il nodo si esaurisca. Lo stesso vale per MIG: i profili in cui dichiari Gres devono corrispondere ai profili configurati sul nodo. Per ulteriori informazioni sulla diagnosi di un nodo esaurito, vedere. Risolvi i problemi relativi alle registrazioni di nodi non valide (INVALID_REG) in AWS 2 PEZZI