Vai al contenuto principale
Versione: 3.0.0-alpha (Diátaxis)

Concetti — GPU

Architettura

Hikube permette di collegare GPU NVIDIA direttamente alle macchine virtuali e ai cluster Kubernetes. L'allocazione GPU è gestita dal NVIDIA GPU Operator lato Kubernetes, e dal passthrough PCI lato macchine virtuali (KubeVirt).


Terminologia

TermineDescrizione
GPU OperatorNVIDIA GPU Operator — gestisce automaticamente i driver, il device plugin e il runtime GPU sui nodi Kubernetes.
Device PluginPlugin Kubernetes che espone le GPU come risorse pianificabili (nvidia.com/<model>).
PCI PassthroughTecnica che assegna una GPU fisica direttamente a una VM, offrendo prestazioni native.
CUDAPiattaforma di calcolo parallelo NVIDIA, utilizzata per l'accelerazione GPU (ML, HPC, rendering).
Instance TypeProfilo di risorse CPU/RAM della VM. Dimensionato in funzione del numero di GPU (8-16 vCPU per GPU raccomandato).

Tipi di GPU disponibili

GPUArchitetturaMemoriaPrestazioni (INT8)Caso d'uso
L40SAda Lovelace48 GB GDDR6362 TOPSInferenza, sviluppo, prototipazione
A100Ampere80 GB HBM2e312 TOPSAddestramento ML, fine-tuning
H100Hopper80 GB HBM31979 TOPSLLM, calcolo exascale, addestramento distribuito

Identificativi GPU nei manifest

GPUValore gpus[].name / nvidia.com/
L40Snvidia.com/AD102GL_L40S
A100nvidia.com/GA100_A100_PCIE_80GB
H100nvidia.com/H100_94GB

GPU su macchine virtuali

Le GPU sono collegate alle VM tramite PCI passthrough:

  • La GPU fisica è dedicata alla VM (prestazioni native)
  • Dichiarata in spec.gpus[] del manifest VMInstance
  • Multi-GPU possibile (ripetere le voci in gpus[])
  • I driver NVIDIA devono essere installati nella VM
Rapporto CPU/GPU raccomandato

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


GPU su Kubernetes

Le GPU sono esposte ai pod tramite il NVIDIA Device Plugin:

  • Il GPU Operator deve essere attivato sul cluster (plugins.gpu-operator.enabled: true)
  • I pod richiedono una GPU tramite resources.limits (es: nvidia.com/AD102GL_L40S: 1)
  • Lo scheduler Kubernetes posiziona il pod su un nodo che dispone della GPU richiesta
  • I nodi GPU sono configurati nei node group con il campo gpus[]

Confronto VM vs Kubernetes

CriterioGPU su VMGPU su Kubernetes
IsolamentoGPU dedicata (passthrough)GPU condivisa tramite device plugin
PrestazioniPrestazioni nativePrestazioni native
FlessibilitàOS completo, driver manualiContainer, scaling automatico
Multi-GPUTramite spec.gpus[]Tramite resources.limits
Caso d'usoWorkstation, ambienti interattiviPipeline ML, inferenza su larga scala

Limiti e quote

ParametroValore
GPU per VMMultipli (secondo disponibilità)
GPU per pod KubernetesMultipli (tramite resources.limits)
Tipi di GPUL40S, A100, H100
Memoria GPU max80 GB (A100/H100)

Per approfondire