Améliorer l'efficacité de la charge de travail grâce à Fast Socket NCCL


Cette page vous explique comment utiliser le plug-in Fast Socket NVIDIA Collective Communication Library (NCCL) pour exécuter des charges de travail plus efficaces sur vos clusters Google Kubernetes Engine (GKE).

Les clusters Autopilot ne sont pas compatibles avec Fast Socket NCCL.

Avant de commencer

Avant de commencer, effectuez les tâches suivantes :

  • Activez l'API Google Kubernetes Engine.
  • Activer l'API Google Kubernetes Engine
  • Si vous souhaitez utiliser Google Cloud CLI pour cette tâche, installez puis initialisez gcloud CLI. Si vous avez déjà installé gcloud CLI, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Limites

Conditions requises

  • Pour utiliser Fast Socket NCCL, vous devez activer gVNIC sur vos pools de nœuds.
  • Les nœuds GKE doivent utiliser une image de nœud Container-Optimized OS.
  • Vos clusters doivent exécuter GKE version 1.25.2-gke.1700 ou ultérieure.

Créer un cluster

Créez un cluster :

gcloud container clusters create CLUSTER_NAME \
    --cluster-version=VERSION \
    --region=COMPUTE_REGION

Remplacez les éléments suivants :

  • CLUSTER_NAME : nom du nouveau cluster
  • VERSION : version de GKE, qui doit être 1.25.2-gke.1700 ou ultérieure. Vous pouvez également utiliser l'option --release-channel pour sélectionner une version disponible. La version disponible doit disposer de la version par défaut 1.25.2-gke.1700 ou ultérieure.
  • COMPUTE_REGION : région Compute Engine du nouveau cluster. Pour les clusters zonaux, utilisez --zone=COMPUTE_ZONE.

Activer Fast Socket NCCL

Créez un pool de nœuds utilisant le plug-in Fast Socket NCCL. Vous pouvez également mettre à jour un pool de nœuds existant à l'aide de la commande gcloud container node-pools update.

gcloud container node-pools create NODEPOOL_NAME \
    --accelerator type=ACCELERATOR_TYPE,count=ACCELERATOR_COUNT \
    --machine-type=MACHINE_TYPE \
    --cluster=CLUSTER_NAME \
    --enable-fast-socket \
    --enable-gvnic

Remplacez les éléments suivants :

  • NODEPOOL_NAME : nom du nouveau pool de nœuds.
  • CLUSTER_NAME : nom du cluster.
  • ACCELERATOR_TYPE : type d'accélérateur GPU que vous utilisez. Exemple :nvidia-tesla-t4
  • ACCELERATOR_COUNT : nombre de GPU par nœud.
  • MACHINE_TYPE : type de machine que vous souhaitez utiliser. Fast Socket NCCL n'est pas compatible avec les types de machines à mémoire optimisée.

Installer des pilotes d'appareils GPU NVIDIA

Suivez les instructions figurant sur la page Installer des pilotes d'appareils GPU NVIDIA pour installer les pilotes d'appareils NVIDIA requis sur vos nœuds.

Vérifiez que Fast Socket NCCL est activé.

Pour vérifier que Fast Socket NCCL est activée, consultez les pods kube-system:

kubectl get pods -n kube-system

Le résultat ressemble à ce qui suit :

NAME                             READY   STATUS    RESTARTS   AGE
nccl-fastsocket-installer-qvfdw  2/2     Running   0          10m
nccl-fastsocket-installer-rtjs4  2/2     Running   0          10m
nccl-fastsocket-installer-tm294  2/2     Running   0          10m

Dans ce résultat, le nombre de pods doit être égal au nombre de nœuds du pool de nœuds.

Désactiver Fast Socket NCCL

Pour désactiver Fast Socket NCCL, exécutez la commande suivante:

gcloud container node-pools update NODEPOOL_NAME \
    --cluster=CLUSTER_NAME \
    --no-enable-fast-socket

Le plug-in est toujours installé sur les nœuds existants. Vous devez redimensionner manuellement le pool de nœuds pour migrer les charges de travail vers de nouveaux nœuds.

Dépannage

Pour résoudre les problèmes liés à la gVNIC, consultez la section Dépannage de la carte d'interface réseau virtuelle Google.

Étapes suivantes