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 le GPU, Multi-Process Service (MPS) e Multi-Instance Dispositivi GPU (MIG), su nodi di calcolo. AWS PCS consente di personalizzare gres.conf tramite gresCustomSettings proprietà di slurmConfiguration durante la creazione o l'aggiornamento di gruppi di nodi di calcolo.

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

In Slurma, un gres.conf il record si applica a tutti i nodi del cluster a meno che non specifichi un NodeName= prefisso. AWS PCS aggiunge sempre NodeName= prefisso per il gruppo di nodi di calcolo, quindi non lo specifichi, e ogni record fornito si applica solo a quel gruppo di nodi di calcolo. AWS PCS non supporta l'intero cluster gres.conf record.

Configurazione delle impostazioni di gres.conf

gres.conf le impostazioni personalizzate possono essere configurate tramite AWS Console, CLI o SDK durante la creazione di gruppi di nodi di calcolo o modificati 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. Inseriscine uno gres.conf record per riga, in formato nativo gres.conf modulo (ad esempio, Name=gpu Type=a100 File=/dev/nvidia[0-7]).

AWS CLI

Per la gestione programmatica di gres.conf impostazioni, usa gresCustomSettings campo nelle operazioni di creazione o aggiornamento dei gruppi di nodi di calcolo. Ogni elemento della lista è uno 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

Quanto segue gres.conf gli 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 Slurm gres.conf documentazione. AWS PCS convalida i tuoi record in base alle stesse regole applicate da Slurm. In particolare, ogni record deve dichiarare un Name o attivo AutoDetect valore e un record GPU (Name=gpu) deve specificare File o MultipleFiles a meno che non sia attivo AutoDetect value rileva i dispositivi.

Un attivo AutoDetect valore è qualsiasi valore che attiva il rilevamento, ad esempio nvml o full. AutoDetect=off disattiva 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 AWS PCS li scrive entrambi:

  • Il gres.conf i record che fornisci gresCustomSettings descrivi i dispositivi presenti nel nodo.

  • I Gres ambientando slurm.conf dichiara ciò che lo scheduler può allocare, nel modulo name[:type]:count. Lo 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 trasforma i tuoi record in gres.conf e li riconcilia con la configurazione GRES che gestisce:

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

  • Record relativi ad altre risorse, ad esempio mps, shard, o un nome di risorsa personale, vengono aggiunti insieme a AWS Impostazioni predefinite PCS.

  • AWS PCS ricava il GresTypes impostazione e gres/* voci del AccountingStorageTRES impostazione in slurm.conf dal Gres impostazione.

Nella versione 26.05 e successive di Slurm, AWS set PCS AutoDetect=full per impostazione predefinita sui gruppi di nodi di calcolo della GPU quando il layout del socket del nodo è noto, sia perché impostato Sockets nel 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 il suo record GPU senza AutoDetect invece.

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 nel Gres ambientando slurm.conf con no gres.conf Il record che segue fa sì che il nodo registri meno risorse di quelle configurate e il nodo si esaurisce. Un record senza Gres L'immissione lascia il dispositivo presente nel nodo ma non programmabile.

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

  • A slurm.conf Gres la voce nomina una risorsa che no gres.conf record dichiara. Ciò include gpu: a gpu l'ingresso richiede un record GPU in gresCustomSettings, anche quando il conteggio è 0.

  • UN slurm.conf Gres la voce dichiara un numero maggiore di una risorsa rispetto a gres.conf dichiarano i record. È consentito un conteggio inferiore, fino a 0: il gres.conf i record descrivono i dispositivi presenti sul nodo, mentre Gres dichiara quanti di essi lo scheduler può allocare.

  • A slurm.conf Gres la voce specifica un tipo di GPU in cui nessuna GPU registra gres.conf dichiara.

Gli ultimi due controlli dipendono da ciò che dichiarano i tuoi registri. AWS Il PCS non è in grado di contare i dispositivi rilevati da Slurm all'avvio del nodo, quindi un record che abilita solo AutoDetect accetta qualsiasi gpu conta e digita Gres ingresso. Ecco come i profili MIG superano la convalida. AWS PCS salta inoltre il controllo del conteggio per i GRES condivisi (mps e shard) e salta il controllo del tipo quando un record GPU dichiara no Type.

AWS PCS accetta un record che non ha corrispondenze Gres ingresso. La risorsa esiste nel nodo, ma i job non possono richiederla. Aggiungi il Gres ingresso per renderlo programmabile.

Importante

AWS PCS convalida la sintassi dei record e la loro coerenza con il Gres impostazione. Non li convalida rispetto all'hardware. Un record di cui File, Cores, o Links il 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.