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

FAQ — GPU

Quels modèles de GPU sont disponibles ?

Hikube propose trois familles de GPU NVIDIA :

GPUArchitectureMémoireCas d'usage
L40SAda Lovelace48 Go GDDR6Inférence, rendu graphique
A100Ampere80 Go HBM2eEntraînement ML, calcul scientifique
H100Hopper80 Go HBM3LLM, calcul exascale

Les identifiants à utiliser dans les manifestes :

gpus:
- name: "nvidia.com/AD102GL_L40S" # L40S
- name: "nvidia.com/GA100_A100_PCIE_80GB" # A100
- name: "nvidia.com/H100_94GB" # H100

Quelle est la différence entre GPU en VM et GPU en Kubernetes ?

AspectGPU en VMGPU en Kubernetes
Mode d'accèsPCI passthrough exclusifDevice plugin partagé
IsolationGPU dédié à la VMScheduling orchestré par K8s
Installation driversManuelle (cloud-init)Automatique (GPU Operator)
Cas d'usageWorkstation dédiée, CUDA devWorkloads conteneurisés, batch

En VM, le GPU est directement attaché via PCI passthrough : la VM a un accès exclusif au hardware. En Kubernetes, le GPU Operator gère les drivers et le scheduling permet de partager les ressources GPU entre plusieurs pods.


Quel ratio CPU/GPU est recommandé ?

Pour une utilisation optimale, prévoyez 8 à 16 vCPU par GPU. Les instances de la gamme Universal (u1) avec un ratio 1:4 sont recommandées :

ConfigurationInstancevCPURAM
1 GPUu1.2xlarge832 Go
1 GPU (intensif)u1.4xlarge1664 Go
Multi-GPUu1.8xlarge32128 Go

Comment sont installés les drivers NVIDIA ?

L'installation dépend du mode d'utilisation :

En VM : installez manuellement via cloud-init au démarrage :

vm-gpu.yaml
spec:
cloudInit: |
#cloud-config
runcmd:
- apt-get update
- apt-get install -y linux-headers-$(uname -r)
- apt-get install -y nvidia-driver-550 nvidia-utils-550

En Kubernetes : activez l'addon GPU Operator qui installe automatiquement les drivers sur les nœuds GPU :

cluster-gpu.yaml
spec:
addons:
gpuOperator:
enabled: true

Comment vérifier que le GPU est détecté ?

En VM :

nvidia-smi

Cette commande affiche les GPU détectés, leur utilisation mémoire et les processus actifs.

En Kubernetes :

kubectl get nodes -o json | jq '.items[].status.allocatable["nvidia.com/gpu"]'

Vous pouvez également vérifier depuis un pod :

kubectl exec -it <pod-name> -- nvidia-smi

Comment demander un GPU dans un pod Kubernetes ?

Spécifiez la ressource nvidia.com/gpu dans les limites du conteneur :

pod-gpu.yaml
apiVersion: v1
kind: Pod
metadata:
name: gpu-workload
spec:
containers:
- name: cuda-app
image: nvidia/cuda:12.0-base
resources:
limits:
nvidia.com/gpu: 1
remarque

Le nombre de GPU demandé dans limits doit correspondre aux GPU physiques disponibles sur les nœuds. Un pod ne peut pas demander une fraction de GPU.