Créer un poste de travail virtuel Linux accéléré par GPU


Ce tutoriel explique comment créer un poste de travail virtuel sous Linux exécutant CentOS 7 avec un GPU disposant de fonctionnalités d'affichage. Google Cloud propose quatre GPU disposant de fonctions d'affichage : NVIDIA L4, NVIDIA T4, NVIDIA P4 et NVIDIA P100.

Pour créer un poste de travail sous Windows, consultez le tutoriel Créer un poste de travail virtuel Windows accéléré par GPU.

Après avoir créé le poste de travail virtuel, vous apprendrez à y accéder à distance à l'aide de HP Anywhere (anciennement Teradici CAS) à l'aide de PC-over-IP (PCoIP®). PCoIP est un protocole de bureau à distance largement utilisé dans les secteurs des médias et du divertissement, du développement de jeux, de l'architecture et de l'ingénierie. Le protocole PCoIP offre des fonctionnalités essentielles à ces types de charges de travail, telles que la justesse des couleurs, la prise en charge de plusieurs écrans, l'affichage sans perte et la sensibilité de la pression sur la tablette.

Dans ce tutoriel, nous partons du principe que vous connaissez la ligne de commande Linux.

Objectifs

  • Créer une instance Compute Engine à l'aide d'un GPU. Cette instance sert de base au poste de travail virtuel.
  • Installer les pilotes NVIDIA sur le poste de travail virtuel.
  • Installer le logiciel HP Anyware sur le poste de travail virtuel
  • Connectez-vous au poste de travail virtuel à l'aide d'un client logiciel PCoIP.

Coûts

Ce tutoriel utilise le composant facturable suivant de Google Cloud :

Vous pouvez utiliser le Simulateur de coût pour générer une estimation du coût en fonction de votre utilisation prévue. À compter d'octobre 2023, le coût approximatif de la configuration de poste de travail présentée dans ce tutoriel est de 1,08 US$ par heure.

Les ressources qui composent le poste de travail virtuel et les facteurs qui influent sur les coûts de ce tutoriel sont les suivants :

Le transfert de données Internet représente les données qui transitent de votre poste de travail virtuel vers votre client d'affichage local et auxquelles s'appliquent les coûts liés au transfert de données sortantes Internet. Les variables qui influent sur le transfert de données pendant une session PCoIP sont la bande passante, la résolution d'écran, le nombre d'écrans, les applications utilisées et le type d'activité effectuée sur chaque moniteur. Le guide de planification des sessions HP Anyware peut vous aider à comprendre les différentes exigences liées aux charges de travail.

Avant de commencer

Ce tutoriel utilise la Google Cloud CLI, que vous pouvez exécuter à partir d'une instance Cloud Shell lancée depuis la console Google Cloud. Si vous souhaitez utiliser la gcloud CLI sur votre poste de travail local, installez la Google Cloud CLI. Ce tutoriel vous indique comment exécuter des commandes dans Cloud Shell. Adaptez les instructions si vous utilisez gcloud CLI sur votre poste de travail.

  1. Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Activez l'API Compute Engine

    Activer l'API

  5. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  6. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  7. Activez l'API Compute Engine

    Activer l'API

Assurez-vous également de disposer des éléments suivants :

  • Un projet Google Cloud avec quota pour les GPU de postes de travail virtuels NVIDIA L4 dans la zone sélectionnée. Vous pouvez obtenir une liste des zones dans lesquelles les GPU sont disponibles en exécutant la commande gcloud compute accelerator-types list.
  • Un navigateur Google Chrome pour accéder à la console Google Cloud
  • La dernière version du logiciel client PCoIP pour Windows, Mac ou Linux, afin d'accéder au poste de travail virtuel.
  • Un compte sur help.teradici.com pour télécharger le logiciel HP Anyware. L'enregistrement du compte est gratuit.
  • Une licence logicielle HP Anyware. Vous pouvez demander une licence d'essai ou contacter votre représentant HP Teradici pour demander un code d'enregistrement d'essai à utiliser pour ce poste de travail virtuel.

Architecture

Le schéma suivant présente les composants utilisés dans ce tutoriel pour déployer un poste de travail virtuel unique. Les composants facultatifs présentés dans le schéma offrent différentes manières de se connecter au poste de travail virtuel, un stockage partagé, une instance supplémentaire pour diffuser des licences tierces et une infrastructure supplémentaire représentant un environnement de rendu ou une ferme de calcul.

Architecture de poste de travail virtuel.

Sélectionner une région

Un facteur important à prendre en compte lorsque vous déployez un poste de travail virtuel est la latence entre votre emplacement et l'instance que vous créez. Plus la latence est basse, meilleure est l'expérience. Par conséquent, privilégiez une utilisation dans une région géographiquement proche de vous. Pour en savoir plus sur l'emplacement des différents GPU, consultez la page Disponibilité des GPU dans les régions et zones.

  1. Ouvrez Cloud Shell. (Si vous utilisez gcloud CLI , ouvrez une fenêtre de terminal sur votre ordinateur.)

    Accéder à Cloud Shell

  2. Obtenez une liste des zones dans lesquelles les GPU sont disponibles :

    gcloud compute accelerator-types list

    Prenez note de la région et de la zone les plus proches de vous.

  3. Définissez la zone que vous souhaitez utiliser.

    gcloud config set compute/zone ZONE

    Remplacez ZONE par le nom de la zone choisie, par exemple us-west1-b.

Choisir un type de machine

Les GPU NVIDIA L4 sont associés au type de machine G2. Les machines virtuelles avec un ou plusieurs GPU possèdent un nombre maximal de processeurs virtuels pour chaque GPU que vous ajoutez à l'instance. Par exemple, chaque GPU NVIDIA L4 vous permet de bénéficier d'un maximum de 32 vCPU et de 128 Go de mémoire dans le type de machine de votre instance. Pour afficher les processeurs virtuels et plages de mémoire disponibles pour différentes configurations de GPU, consultez la liste des GPU.

L'exemple décrit dans ce tutoriel utilise un poste de travail virtuel G8 à 8 vCPU, ce qui est bien inférieur à la limite de 32 processeurs virtuels pour une seule GPU NVIDIA L4.

Créer le poste de travail virtuel

  1. Dans Cloud Shell, créez l'instance de poste de travail virtuel Compute Engine :

    gcloud compute instances create NAME \
        --zone=ZONE \
        --machine-type=MACHINE_TYPE \
        --accelerator=type=ACCELERATOR,count=NUM-GPUS \
        --maintenance-policy="TERMINATE" \
        --image-project=centos-cloud \
        --image-family=centos-7 \
        --boot-disk-size=SIZE \
        --boot-disk-type=TYPE \
        --network=NETWORK
    

    Remplacez les éléments suivants :

    • NAME est le nom de votre poste de travail.
    • ZONE est la zone dans laquelle vous souhaitez créer la VM.
    • MACHINE_TYPE est la configuration de la machine prédéfinie ou personnalisée.
    • ACCELERATOR est le type de GPU que vous souhaitez associer, par exemple nvidia-tesla-t4-vws.
    • NUM-GPUS est le nombre de GPU à associer à la VM.
    • SIZE est la taille du disque de démarrage en Go.
    • TYPE correspond au type de disque de démarrage. Pour obtenir la liste des types de disques disponibles, exécutez la commande gcloud compute disk-types list.
    • NETWORK est le réseau sur lequel créer la VM.

    Exemple :

    gcloud compute instances create test-workstation \
        --zone=us-west1-b \
        --machine-type=g2-standard-8 \
        --accelerator=type=nvidia-l4-vws,count=1 \
        --maintenance-policy="TERMINATE" \
        --image-project=centos-cloud \
        --image-family=centos-7 \
        --boot-disk-size=100 \
        --boot-disk-type=pd-ssd \
        --network=default
    

    Une fois le poste de travail virtuel créé, l'état de l'ordinateur s'affiche. La sortie ressemble à ceci :

    NAME: test-workstation
    ZONE: us-west1-b
    MACHINE_TYPE: g2-standard-8
    PREEMPTIBLE:
    INTERNAL_IP: 10.138.XX.XXX
    EXTERNAL_IP: XX.XXX.XXX.XXX
    STATUS: RUNNING
    

    Notez l'adresse IP externe du poste de travail virtuel. Vous en aurez besoin dans la suite de ce tutoriel.

    Vous pouvez récupérer cette adresse IP externe à tout moment à partir de la console Google Cloud.

Se connecter au poste de travail virtuel

Après avoir créé le poste de travail virtuel, connectez-vous à ce dernier pour pouvoir le configurer.

  1. Dans Cloud Shell, connectez-vous au nouveau poste de travail virtuel :

    gcloud compute ssh NAME
  2. Définissez le mot de passe de votre compte. Teradici PCoIP nécessite de définir un mot de passe utilisateur.

    sudo passwd `whoami`

    Lorsque vous y êtes invité, saisissez un mot de passe. Vous l'utiliserez dans la suite de ce tutoriel pour vous connecter à votre poste de travail virtuel à l'aide du client Teradici PCoIP.

Installer des bibliothèques graphiques et un gestionnaire de fenêtres

L'image Google Cloud CentOS 7 par défaut correspond à une installation minimale de CentOS 7.x. L'étape suivante consiste à installer les bibliothèques nécessaires à l'exécution de votre poste de travail virtuel en tant que poste de travail graphique. Dans le cadre de ce tutoriel, vous devez également installer le gestionnaire de fenêtres KDE.

  1. Mettez à jour les dépôts du logiciel :

    sudo yum -y update
  2. Installez les composants requis :

    sudo yum -y install \
      kernel-devel-$(uname -r) kernel-headers-$(uname -r)
    sudo yum -y groupinstall \
      "KDE desktop" "X Window System" "Fonts" \
      "Development Tools" "Server with GUI"
    
  3. Redémarrez le poste de travail :

    sudo reboot

    Votre connexion lancée depuis Cloud Shell est interrompue.

Installer le pilote NVIDIA

Les GPU NVIDIA L4, NVIDIA T4, NVIDIA P4 et NVIDIA P100 ne fonctionnent sur Google Cloud qu'avec des pilotes NVIDIA RTX Virtual Workstations pour les charges de travail de visualisation. Ces pilotes peuvent être téléchargés à partir d'un bucket de stockage Google Cloud public.

  1. Une fois le poste de travail virtuel redémarré, accédez à Cloud Shell, puis reconnectez-vous au poste de travail virtuel :

    gcloud compute ssh NAME
  2. Vérifiez que les en-têtes de noyau corrects sont installés sur le système :

    sudo yum -y install kernel-devel-$(uname -r) \
      kernel-headers-$(uname -r)
    
  3. Pour installer le dernier pilote de poste de travail virtuel NVIDIA RTX, suivez les instructions (étape 3 uniquement).

  4. Redémarrez le poste de travail :

    sudo reboot

Installer le logiciel HP Anyware

Le logiciel HP Anyware fournit un agent graphique qui s'exécute sur le poste de travail virtuel, et qui diffuse le bureau à destination de votre client matériel ou logiciel.

  1. Une fois le poste de travail virtuel redémarré, accédez à Cloud Shell, puis reconnectez-vous au poste de travail virtuel :

    gcloud compute ssh NAME
  2. Ajoutez le dépôt logiciel Teradici :

    curl -1sLf \
        https://dl.anyware.hp.com/TOKEN/pcoip-agent/cfg/setup/bash.rpm.sh \
        | sudo -E distro=el codename=7 bash
    

    Remplacez les éléments suivants :

  3. Mettez à jour les dépôts du logiciel :

    sudo yum -y update
  4. Facultatif : installez des dépendances USB si vous devez prendre en charge des appareils USB autres que les claviers, les souris et les dispositifs de pointage.

    sudo yum -y install usb-vhci
  5. Installez le logiciel HP Anyware :

    sudo yum -y install pcoip-agent-graphics
  6. Définissez l'état d'affichage sur graphical :

    sudo systemctl set-default graphical.target
  7. Redémarrez le poste de travail virtuel :

    sudo reboot

Enregistrer l'agent graphique Anyware

Pour utiliser l'agent graphique Anyware, vous devez disposer d'une licence HP Anwyare.

  1. Dans Cloud Shell, activez votre licence logicielle HP Anyware :

    pcoip-register-host --registration-code=REGISTRATION-CODE

    Remplacez REGISTRATION-CODE par le code qui vous a été fourni par HP Teradici au format ABCDEFGHIJKL@0123-4567-89AB-CDEF.

  2. Redémarrez le poste de travail virtuel :

    sudo reboot

Créer une règle de pare-feu

Le client PCoIP communique avec votre poste de travail virtuel via plusieurs ports. Vous devez définir des règles de pare-feu autorisant le trafic vers votre poste de travail virtuel.

  • Lancez Cloud Shell sur l'ordinateur local (pas sur le poste de travail virtuel), puis créez une règle de pare-feu qui ouvre les ports requis :

    gcloud compute firewall-rules create allow-pcoip \
        --action=ALLOW \
        --rules=tcp:443,tcp:4172,udp:4172 \
        --source-ranges=0.0.0.0/0
    

Se connecter au poste de travail virtuel à l'aide du client PCoIP

  1. Sur l'ordinateur local, accédez à la section Clients PCoIP sur la page d'assistance de HP Anyware, puis téléchargez, installez et lancez l'application cliente PCoIP correspondant à votre système d'exploitation.

  2. Dans le champ Adresse de l'hôte ou Code d'enregistrement, saisissez l'adresse IP externe du poste de travail virtuel. Si vous le souhaitez, vous pouvez nommer la connexion.

  3. Lorsque vous êtes connecté, authentifiez-vous en saisissant le nom d'utilisateur et le mot de passe créés précédemment pour le poste de travail virtuel.

    En quelques secondes, votre poste de travail virtuel Linux s'affiche :

Tester le poste de travail virtuel

Après avoir déployé votre poste de travail virtuel, vous pouvez tester ses performances et son interactivité à l'aide de nombreux outils :

  • Exécutez des outils de test de performances GPU, tels que glxgears, glmark2 ou UNIGINE, qui sont des programmes permettant de tester les performances graphiques d'un poste de travail Linux.
  • Installez Unreal Engine, Unity Editor, Blender ou toute application de création de contenu.
  • Exécutez des outils d'analyse de rendu pour des moteurs de rendu populaires, tels que V-Ray, Octane ou Maxon.
  • Utilisez Google Chrome pour parcourir vos sites préférés ou regarder des vidéos YouTube.

Vous pouvez également en apprendre plus sur l'optimisation des performances PCoIP en fonction de votre charge de travail.

Effectuer un nettoyage

Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.

Une fois que vous avez terminé le tutoriel, nettoyez les ressources que vous avez créées sur Google Cloud pour qu'elles ne vous soient plus facturées à l'avenir.

Arrêter votre poste de travail virtuel

Les postes de travail virtuels à l'arrêt entraînent des coûts relatifs au disque persistant, mais ils peuvent être redémarrés à tout moment. Pour arrêter votre poste de travail virtuel, exécutez la commande suivante dans Cloud Shell :

gcloud compute instances stop test-vws

Supprimer le projet

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Dans la liste des projets, sélectionnez le projet que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue, saisissez l'ID du projet, puis cliquez sur Arrêter pour supprimer le projet.

Supprimer tous les composants

  1. Supprimez le poste de travail virtuel.
  2. Supprimez la règle de pare-feu.

Étapes suivantes