Aller au contenu principal
Version: 3.0.0-alpha (Diátaxis)

Concepts — GPU

Architecture

Hikube permet d'attacher des GPU NVIDIA directement aux machines virtuelles et aux clusters Kubernetes. L'allocation GPU est gérée par le NVIDIA GPU Operator côté Kubernetes, et par le passthrough PCI côté machines virtuelles (KubeVirt).


Terminologie

TermeDescription
GPU OperatorNVIDIA GPU Operator — gère automatiquement les pilotes, le device plugin et le runtime GPU sur les nœuds Kubernetes.
Device PluginPlugin Kubernetes qui expose les GPU comme ressources planifiables (nvidia.com/<model>).
PCI PassthroughTechnique qui attribue un GPU physique directement à une VM, offrant des performances natives.
CUDAPlateforme de calcul parallèle NVIDIA, utilisée pour l'accélération GPU (ML, HPC, rendu).
Instance TypeProfil de ressources CPU/RAM de la VM. Dimensionné en fonction du nombre de GPU (8-16 vCPU par GPU recommandé).

Types de GPU disponibles

GPUArchitectureMémoirePerformance (INT8)Cas d'usage
L40SAda Lovelace48 GB GDDR6362 TOPSInférence, développement, prototypage
A100Ampere80 GB HBM2e312 TOPSEntraînement ML, fine-tuning
H100Hopper80 GB HBM31979 TOPSLLM, calcul exascale, entraînement distribué

Identifiants GPU dans les manifestes

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

GPU sur machines virtuelles

Les GPU sont attachés aux VM via PCI passthrough :

  • Le GPU physique est dédié à la VM (performances natives)
  • Déclaré dans spec.gpus[] du manifeste VMInstance
  • Multi-GPU possible (répéter les entrées dans gpus[])
  • Les pilotes NVIDIA doivent être installés dans la VM
Ratio CPU/GPU recommandé

Prévoyez 8 à 16 vCPU par GPU. Pour un seul GPU, un u1.2xlarge (8 vCPU, 32 GB RAM) est un bon point de départ.


GPU sur Kubernetes

Les GPU sont exposés aux pods via le NVIDIA Device Plugin :

  • Le GPU Operator doit être activé sur le cluster (plugins.gpu-operator.enabled: true)
  • Les pods demandent un GPU via resources.limits (ex: nvidia.com/AD102GL_L40S: 1)
  • Le scheduler Kubernetes place le pod sur un nœud disposant du GPU demandé
  • Les nœuds GPU sont configurés dans les node groups avec le champ gpus[]

Comparaison VM vs Kubernetes

CritèreGPU sur VMGPU sur Kubernetes
IsolationGPU dédié (passthrough)GPU partagé via device plugin
PerformancePerformances nativesPerformances natives
FlexibilitéOS complet, pilotes manuelsConteneurs, scaling automatique
Multi-GPUVia spec.gpus[]Via resources.limits
Cas d'usageWorkstations, environnements interactifsPipelines ML, inférence à grande échelle

Limites et quotas

ParamètreValeur
GPU par VMMultiples (selon disponibilité)
GPU par pod KubernetesMultiples (via resources.limits)
Types de GPUL40S, A100, H100
Mémoire GPU max80 GB (A100/H100)

Pour aller plus loin