Utiliser les GPU NVIDIA

Cette page explique comment exécuter des tâches de deep learning telles que la reconnaissance d'images ou le traitement du langage naturel, ainsi que d'autres tâches gourmandes en ressources de calcul à l'aide de pools de nœuds avec des accélérateurs matériels pour processeur graphique NVIDIA (GPU) afin d'accroître la puissance de calcul de votre instance de conteneur Knative serving.

Ajouter un pool de nœuds comportant des GPU à votre cluster GKE

Demandez à un administrateur de créer un pool de nœuds comportant des GPU :

  1. Ajoutez un pool de nœuds compatibles GPU à votre cluster GKE.

  2. Installez des pilotes d'appareils NVIDIA sur ces nœuds.

Configurer votre service pour utiliser des GPU

Vous pouvez spécifier une limite de ressources de consommation des GPU pour votre service à l'aide de la console Google Cloud ou de Google Cloud CLI lorsque vous déployez un nouveau service, mettez à jour un service existant ou déployez une révision :

Console

  1. Accéder à Knative serving
  2. Cliquez sur Create service (Créer un service) pour afficher le formulaire Create service.

  3. Dans la section Service settings (Paramètres des services) :

    1. Sélectionnez le cluster GKE avec le pool de nœuds compatibles GPU.
    2. Indiquez le nom que vous souhaitez attribuer à votre service.
    3. Cliquez sur Next (Suivant) pour passer à la section suivante.
  4. Dans la section Configure the service's first revision (Configurer la première révision du service) :

    image

    1. Ajoutez une URL d'image de conteneur.
    2. Cliquez sur Advanced settings (Paramètres avancés). Dans le menu GPU allocated (GPU alloué), sélectionnez le nombre de GPU que vous souhaitez allouer à votre service. image
  5. Cliquez sur Suivant pour passer à la section suivante.

  6. Dans la section Configurer la manière dont ce service est déclenché, sélectionnez la connectivité que vous souhaitez utiliser pour appeler le service.

  7. Cliquez sur Créer pour déployer l'image sur Knative serving et attendez la fin du déploiement.

Ligne de commande

Vous pouvez télécharger la configuration d'un service existant dans un fichier YAML avec la commande gcloud run services describe à l'aide de l'option --format=export. Vous pouvez ensuite modifier ce fichier YAML et déployer ces modifications à l'aide de la commande gcloud run services replace. Veillez à ne modifier que les attributs spécifiés.

  1. Téléchargez la configuration de votre service dans un fichier nommé service.yaml sur l'espace de travail local :

    gcloud run services describe SERVICE --format export > service.yaml

    Remplacez SERVICE par le nom de votre service Knative serving.

  2. Dans votre fichier local, mettez à jour l'attribut nvidia.com/gpu :

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
    name: SERVICE_NAME
    spec:
    template:
     spec:
       containers:
    image: IMAGE_URL
         resources:
           limits:
            nvidia.com/gpu: "GPU_UNITS"

    Remplacez GPU_UNITS par la valeur de GPU souhaitée dans les unités de GPU Kubernetes. Par exemple, spécifiez 1 pour un GPU.

  3. Déployez le fichier YAML et remplacez votre service par la nouvelle configuration en exécutant la commande suivante :

    gcloud run services replace service.yaml

Pour en savoir plus sur les performances et les coûts des GPU, consultez la page GPU.