Creare una workstation Linux virtuale con accelerazione GPU


Questo tutorial mostra come creare una workstation virtuale Linux che esegue Ubuntu 22.04 con una GPU con capacità di visualizzazione collegata. Google Cloud offre quattro GPU con capacità di visualizzazione: NVIDIA L4, NVIDIA T4, NVIDIA P4 e NVIDIA P100.

Per creare una workstation Windows, consulta il tutorial sulla creazione di una workstation Windows virtuale con accelerazione GPU.

Dopo aver creato la workstation virtuale, scoprirai come accedervi da remoto utilizzando HP Anyware (in precedenza Teradici CAS) e la tecnologia PC-over-IP (PCoIP®), un protocollo di desktop remoto ampiamente utilizzato nei settori dei media e dell'intrattenimento, nello sviluppo di giochi, nell'architettura e nell'ingegneria. PCoIP offre funzionalità essenziali per questi tipi di carichi di lavoro, come l'accuratezza del colore, il supporto di più monitor, la visualizzazione senza perdita di dati e la sensibilità alla pressione del tablet.

Questo tutorial presuppone che tu abbia dimestichezza con la riga di comando Linux.

Obiettivi

  • Crea un'istanza Compute Engine con una GPU. Questa istanza funge da base per una workstation virtuale.
  • Installa i driver NVIDIA sulla workstation virtuale.
  • Installa il software HP Anyware sulla workstation virtuale.
  • Connettiti alla workstation virtuale utilizzando un client software PCoIP.

Costi

Questo tutorial utilizza il seguente componente fatturabile di Google Cloud:

Puoi utilizzare il Calcolatore prezzi per generare una stima dei costi in base all'utilizzo previsto.

Le risorse che compongono la workstation virtuale e i fattori che influiscono sul costo in questo tutorial sono:

Il trasferimento di dati internet rappresenta i dati in streaming dalla tua workstation virtuale al tuo client di visualizzazione locale e viene addebitato in base ai costi di trasferimento di dati in uscita su internet. Le variabili che influiscono sul trasferimento di dati durante una sessione PCoIP sono larghezza di banda, risoluzione dello schermo, numero di monitor, applicazioni utilizzate e tipo di attività su ogni monitor. La guida alla pianificazione delle sessioni di HP Anyware può aiutarti a comprendere i diversi requisiti dei carichi di lavoro.

Prima di iniziare

Questo tutorial utilizza Google Cloud CLI, che puoi eseguire da un'istanza Cloud Shell avviata dalla console Google Cloud. Se vuoi utilizzare gcloud CLI sulla tua workstation locale, installa Google Cloud CLI. Il tutorial mostra come eseguire i comandi in Cloud Shell. Se utilizzi gcloud CLI sulla tua workstation, modifica le istruzioni di conseguenza.

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Enable the API

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Enable the API

Inoltre, assicurati di avere quanto segue:

  • Un progetto Google Cloud con quota per le GPU NVIDIA L4 per workstation virtuale nella zona selezionata. Puoi ottenere un elenco della disponibilità delle GPU utilizzando il comando gcloud compute accelerator-types list.
  • Un browser Google Chrome per accedere alla console Google Cloud.
  • Il software client PCoIP più recente per Windows, Mac o Linux per accedere alla stazione di lavoro virtuale.
  • Un account su help.teradici.com per scaricare il software HP Anyware. La registrazione dell'account è gratuita.
  • Una licenza software HP Anyware. Puoi richiedere una licenza di prova oppure contattare il tuo rappresentante HP e chiedere un codice di registrazione per la prova da utilizzare per questa workstation virtuale.

Architettura

Il seguente diagramma mostra i componenti utilizzati in questo tutorial per eseguire il deployment di una singola workstation virtuale. I componenti facoltativi mostrati nel diagramma includono diversi modi per connettersi alla workstation virtuale, allo spazio di archiviazione condiviso, a un'istanza aggiuntiva per la pubblicazione di licenze di terze parti e a un'infrastruttura aggiuntiva che rappresenta una farm di rendering o di calcolo.

Architettura della workstation virtuale.

Scegli una regione

Un fattore importante quando esegui il deployment di una workstation virtuale è la latenza tra la tua posizione e l'istanza creata. Più bassa è la latenza, migliore è l'esperienza. Pertanto, ti consigliamo di lavorare in una regione geograficamente più vicina a te. Per scoprire di più su dove sono disponibili le diverse GPU, consulta la sezione Disponibilità di regioni e zone GPU.

  1. Apri Cloud Shell. Se utilizzi gcloud CLI, apri una finestra del terminale sul computer.

    Vai a Cloud Shell

  2. Visualizza un elenco delle zone in cui sono disponibili le GPU:

    gcloud compute accelerator-types list

    Prendi nota della regione e della zona più vicine a te.

  3. Imposta la zona con cui vuoi lavorare:

    gcloud config set compute/zone ZONE

    Sostituisci ZONE con il nome della zona che stai utilizzando, ad esempio us-west1-b.

Scegli un tipo di macchina

Le GPU NVIDIA L4 sono collegate al tipo di macchina G2. Le macchine virtuali con una o più GPU hanno un numero massimo di vCPU per ogni GPU che aggiungi all'istanza. Ad esempio, ogni GPU NVIDIA L4 ti consente di avere fino a 32 vCPU e fino a 128 GB di memoria nel tipo di macchina dell'istanza. Per visualizzare gli intervalli di vCPU e memoria disponibili per le diverse configurazioni GPU, consulta l'elenco delle GPU.

L'esempio in questo tutorial consiste in una workstation virtuale G2 con 8 vCPU, che è ben al di sotto del limite di 32 vCPU per una singola GPU NVIDIA L4.

Crea la workstation virtuale

  1. In Cloud Shell, crea l'istanza della stazione di lavoro virtuale Compute Engine:

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

    Sostituisci quanto segue:

    • VM_NAME è il nome della tua workstation.
    • ZONE è la zona in cui creare la VM.
    • MACHINE_TYPE è la configurazione della macchina predefinita o personalizzata.
    • ACCELERATOR è il tipo di GPU da collegare, ad esempio nvidia-l4-vws.
    • NUM-GPUS è il numero di GPU da collegare alla VM.
    • SIZE è la dimensione del disco di avvio in gigabyte.
    • TYPE è il tipo di disco di avvio. Per visualizzare un elenco dei tipi di dischi disponibili, esegui gcloud compute disk-types list.
    • NETWORK è la rete in cui creare la VM.

    Ad esempio:

    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=ubuntu-os-cloud \
        --image-family=ubuntu-2204-lts \
        --boot-disk-size=100 \
        --boot-disk-type=pd-ssd \
        --network=default
    

    Dopo aver creato la stazione di lavoro virtuale, viene visualizzato lo stato della macchina. L'output è simile al seguente:

    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
    

    Prendi nota dell'indirizzo IP esterno della stazione di lavoro virtuale. Lo utilizzerai più avanti nel tutorial.

    Puoi recuperare l'indirizzo IP esterno della tua workstation virtuale in qualsiasi momento utilizzando la console Google Cloud.

Accedi alla tua workstation virtuale

Dopo aver creato la workstation virtuale, accedi alla macchina per poterla configurare.

  1. In Cloud Shell, connettiti alla nuova workstation virtuale:

    gcloud compute ssh VM_NAME
  2. Imposta la password del tuo account. Per accedere a una workstation virtuale utilizzando il client software PCoIP è necessaria una password utente.

    sudo passwd `whoami`

    Quando richiesto, inserisci una password. Utilizzerai questa password più avanti nel tutorial per accedere alla tua workstation virtuale con il client HP Anyware PCoIP.

Installa le librerie di base

L'immagine Ubuntu 22.04 di Google Cloud predefinita è un'installazione minima di Ubuntu. Il passaggio successivo consiste nell'installare le librerie necessarie per eseguire la tua stazione di lavoro virtuale come stazione di lavoro di grafica.

  1. Aggiorna i repository software:

    sudo apt update
  2. Installa i componenti di base:

    sudo apt install -y build-essential
    sudo apt install -y libvulkan1
    
  3. Aggiorna la versione gcc del driver NVIDIA:

    sudo apt install -y gcc-12
    sudo apt install -y linux-headers-$(uname -r)
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 12
    sudo update-alternatives --config gcc
    

Installa il driver NVIDIA

Le GPU NVIDIA L4, NVIDIA T4, NVIDIA P4 e NVIDIA P100 funzionano su Google Cloud solo con driver NVIDIA RTX Virtual Workstation qualificati per i carichi di lavoro di visualizzazione. Questi driver possono essere scaricati da un bucket pubblico di Google Cloud Storage.

  1. Per installare il driver più recente della workstation virtuale NVIDIA RTX, segui le istruzioni (solo passaggi 3 e 4).

  2. Riavviare la workstation:

    sudo reboot

Installa l'ambiente desktop

Per eseguire la workstation virtuale come workstation grafica è necessario un ambiente desktop. Per questo tutorial, installa il desktop KDE Plasma.

  1. Installa l'ambiente desktop:

    sudo apt update
    sudo apt -y install kubuntu-desktop
    sudo apt -y install dialog
    
  2. Riavviare la workstation:

    sudo reboot

Installa il software HP Anyware

Il software HP Anyware fornisce un agente grafico che viene eseguito sulla tua workstation virtuale, inviando il desktop al client hardware o software.

  1. Dopo il riavvio della workstation virtuale, in Cloud Shell, riconnettiti alla workstation virtuale:

    gcloud compute ssh VM_NAME
  2. Aggiungi il repository del software Teradici:

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

    Sostituisci quanto segue:

  3. Aggiorna i repository software:

    sudo apt update
  4. (Facoltativo) Installa le dipendenze USB, se devi supportare dispositivi USB diversi da tastiere, mouse e dispositivi di puntamento.

    sudo apt -y install usb-vhci-dkms
  5. Installa il software HP Anyware:

    sudo apt -y install pcoip-agent-graphics

Registra l'agente Anyware Graphics

Per utilizzare Anyware Graphics Agent, devi disporre di una licenza HP Anyware.

  1. In Cloud Shell, attiva la licenza software HP Anyware:

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

    Sostituisci REGISTRATION-CODE con il codice fornito da HP Teradici nel modulo ABCDEFGHIJKL@0123-4567-89AB-CDEF.

  2. Riavvia la workstation virtuale:

    sudo reboot

Crea una regola firewall

Il client PCoIP comunica con la tua stazione di lavoro virtuale utilizzando diverse porte. Devi impostare regole firewall che consentano il traffico verso la tua workstation virtuale.

  • In Cloud Shell (non nella stazione di lavoro virtuale), crea una regola firewall che apra le porte richieste:

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

Accedi alla tua stazione di lavoro virtuale utilizzando il client PCoIP

  1. Sul computer locale, vai alla sezione Client PCoIP nella pagina di assistenza HP Anyware, quindi scarica, installa e avvia l'applicazione client software PCoIP per il tuo sistema operativo.

  2. Nel campo Indirizzo host o codice di registrazione, inserisci l'indirizzo IP esterno della tua workstation virtuale. Se vuoi, puoi inserire un nome per la connessione.

  3. Una volta stabilita la connessione, autenticarti inserendo il nome utente e la password che hai creato in precedenza per la stazione di lavoro virtuale.

    Dopo pochi secondi, viene visualizzato il desktop Linux.

Testa la workstation virtuale

Dopo aver implementato la tua stazione di lavoro virtuale, puoi testare le prestazioni e l'interattività utilizzando una serie di strumenti:

  • Esegui strumenti di benchmark della GPU, come glxgears, glmark2 o UNIGINE, che sono programmi per testare le prestazioni della grafica su una workstation Linux.
  • Installa Unreal Engine, Unity Editor, Blender o qualsiasi applicazione per la creazione di contenuti.
  • Esegui strumenti di benchmarking del rendering per i renderer più diffusi, come V-Ray, Octane o Maxon.
  • Utilizza Google Chrome per navigare sui tuoi siti preferiti o riprodurre video di YouTube.

Puoi anche scoprire di più sull'ottimizzazione delle prestazioni PCoIP in base al tuo carico di lavoro.

Esegui la pulizia

Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.

Al termine del tutorial, elimina le risorse che hai creato su Google Cloud in modo che non ti vengano addebitate in futuro.

Interrompere la workstation virtuale

Le workstation virtuali interrotte comportano costi per il disco persistente, ma possono essere riavviate in qualsiasi momento. Per arrestare la workstation virtuale, esegui il seguente comando in Cloud Shell:

gcloud compute instances stop VM_NAME

Elimina tutti i componenti

  1. Elimina la workstation virtuale.
  2. Elimina la regola firewall.

Elimina il progetto

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. In the project list, select the project that you want to delete, and then click Delete.
  3. In the dialog, type the project ID, and then click Shut down to delete the project.

Passaggi successivi