Vai al contenuto principale

Concetti — GPU

Architettura​

Hikube collega GPU NVIDIA fisiche alle macchine virtuali e ai nodi dei cluster Kubernetes. Lato VM, la GPU viene assegnata in passthrough PCI. Lato Kubernetes, il nodo riceve la GPU allo stesso modo, quindi il NVIDIA GPU Operator la espone ai pod.


Terminologia​

TermineDescrizione
Hardware Acceleration (GPU)Sezione della procedura guidata VM in cui si scelgono le GPU dell'istanza.
Gruppo di nodiInsieme di nodi worker di un cluster Kubernetes che condividono un tipo di istanza e, se previsto, delle GPU.
Passthrough PCIAssegnazione di una GPU fisica direttamente a una VM o a un nodo, con prestazioni native.
GPU OperatorAddon Kubernetes NVIDIA che installa i driver, il device plugin e il runtime GPU sui nodi. Attivato automaticamente non appena un gruppo di nodi dispone di GPU.
Device pluginComponente che espone le GPU ai pod come risorsa pianificabile nvidia.com/gpu.
HAMiAddon di virtualizzazione delle GPU: condivisione di una stessa GPU tra più pod. Richiede il GPU Operator.
CUDAPiattaforma di calcolo parallelo NVIDIA, utilizzata per l'accelerazione (ML, HPC, rendering).

Modelli e disponibilità​

ModelloMemoria
NVIDIA L40S48 GB
NVIDIA A100 80GB80 GB
NVIDIA H100 80GB80 GB
NVIDIA RTX 6000 Pro96 GB

Il selettore di GPU mostra tutti i modelli della piattaforma. Un modello senza unità libere è contrassegnato come Unavailable e non può essere selezionato. La disponibilità è globale: la console non mostra il numero di unità libere.

Co-localizzazione

Una VM, così come un nodo Kubernetes, viene eseguita su un unico server fisico. Quando richiede più GPU per una stessa VM (o per ciascun nodo di un gruppo), devono essere tutte disponibili su uno stesso server. Altrimenti la creazione non riesce con il messaggio The following GPUs are not available: …, anche se ogni modello risulta disponibile.


GPU su macchina virtuale​

  • Selezione al passaggio Configuration della procedura guidata, in Hardware Acceleration (GPU): faccia clic su una scheda per aggiungere una GPU, quindi usi + e − per modificarne il numero. Il badge indica il totale (ad esempio 2 GPUs total).
  • La sezione compare solo se la piattaforma offre GPU.
  • Le GPU si modificano in seguito in Edit > Resources (CPU / RAM); la VM viene riavviata.
  • Stop su una VM libera le sue GPU. Al riavvio, se sono state assegnate altrove, la console propone di Select an alternative GPU.
  • I driver NVIDIA non sono preinstallati nelle immagini.
Rapporto CPU/GPU

Preveda da 8 a 16 vCPU per GPU. Per una GPU, un u1.2xlarge (8 vCPU, 32 GB) è un buon punto di partenza.


GPU su Kubernetes​

  • Selezione al passaggio Nodes della procedura guidata del cluster, sezione GPU di ciascun gruppo di nodi. Ogni nodo del gruppo riceve le GPU selezionate.
  • Non appena un gruppo dispone di GPU, l'addon GPU Operator viene attivato e non può più essere disattivato (Required when a node group has GPUs).
  • I pod richiedono una GPU tramite resources.limits (nvidia.com/gpu: 1).
  • Un gruppo creato senza GPU non può riceverne; un gruppo creato con GPU può cambiare modello o numero, ma deve mantenere almeno una GPU. Per cambiare categoria, aggiunga un nuovo gruppo di nodi.

Confronto tra VM e Kubernetes​

CriterioGPU su VMGPU su Kubernetes
AccessoGPU dedicata alla VMGPU assegnata ai pod dallo scheduler
DriverInstallati da lei nel sistema operativoInstallati dal GPU Operator
Multi-GPUPiù GPU nella VMPiù GPU per nodo, resources.limits per pod
CondivisioneNoSì, con HAMi
Casi d'usoWorkstation, ambienti interattiviPipeline ML, inferenza su larga scala

Per approfondire​