Crie uma estação de trabalho Linux virtual acelerada pela GPU

Este tutorial mostra como criar uma estação de trabalho Linux virtual com o Ubuntu 22.04 com uma GPU compatível com ecrã anexada. Google Cloud oferece quatro GPUs compatíveis com ecrã: NVIDIA L4, NVIDIA T4, NVIDIA P4 e NVIDIA P100.

Para criar uma estação de trabalho Windows, consulte o tutorial para Criar uma estação de trabalho Windows acelerada por GPU virtual.

Depois de criar a estação de trabalho virtual, vai saber como aceder remotamente à mesma através do HP Anyware (anteriormente Teradici CAS), através da tecnologia PC-over-IP (PCoIP®), um protocolo de ambiente de trabalho remoto amplamente usado nas indústrias de multimédia e entretenimento, desenvolvimento de jogos, arquitetura e engenharia. O PCoIP oferece funcionalidades essenciais para estes tipos de cargas de trabalho, como a precisão das cores, o suporte para vários monitores, a apresentação sem perdas e a sensibilidade à pressão do tablet.

Este tutorial pressupõe que tem conhecimentos da linha de comandos do Linux.

Arquitetura

O diagrama seguinte mostra os componentes usados neste tutorial para implementar uma única estação de trabalho virtual. Os componentes opcionais apresentados no diagrama incluem diferentes formas de estabelecer ligação à sua estação de trabalho virtual, armazenamento partilhado, uma instância adicional para publicar licenças de terceiros e infraestrutura adicional que representa uma farm de renderização ou computação.

Arquitetura de estação de trabalho virtual.

Escolha uma região

Um fator importante quando implementa uma estação de trabalho virtual é a latência entre a sua localização e a instância que cria. Quanto menor for a latência, melhor é a experiência. Por isso, quer trabalhar numa região geograficamente mais próxima de si. Para saber onde as diferentes GPUs estão disponíveis, consulte o artigo Disponibilidade de regiões e zonas de GPUs.

  1. Abra o Cloud Shell. (Se estiver a usar a CLI gcloud, abra uma janela de terminal no computador.)

    Aceda ao Cloud Shell

  2. Obtenha uma lista das zonas em que as GPUs estão disponíveis:

    gcloud compute accelerator-types list

    Tome nota da região e da zona que estão fisicamente mais próximas de si.

  3. Defina a zona com a qual quer trabalhar:

    gcloud config set compute/zone ZONE

    Substitua ZONE pelo nome da zona que está a usar, como us-west1-b.

Escolha um tipo de máquina

As GPUs NVIDIA L4 estão associadas ao tipo de máquina G2. As máquinas virtuais com uma ou mais GPUs têm um número máximo de vCPUs para cada GPU que adicionar à instância. Por exemplo, cada GPU NVIDIA L4 permite ter até 32 vCPUs e até 128 GB de memória no tipo de máquina da instância. Para ver os intervalos de vCPU e memória disponíveis para diferentes configurações de GPU, consulte a lista de GPUs.

O exemplo neste tutorial consiste numa estação de trabalho virtual G2 com 8 vCPUs, que está muito abaixo do limite de 32 vCPUs para uma única GPU NVIDIA L4.

Crie a estação de trabalho virtual

  1. No Cloud Shell, crie a instância da estação de trabalho virtual do 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
    

    Substitua o seguinte:

    • VM_NAME é o nome da sua estação de trabalho.
    • ZONE é a zona na qual criar a VM.
    • MACHINE_TYPE é a configuração da máquina predefinida ou personalizada.
    • ACCELERATOR é o tipo de GPU que quer anexar, como nvidia-l4-vws.
    • NUM-GPUS é o número de GPUs a associar à VM.
    • SIZE é o tamanho do disco de arranque, em gigabytes.
    • TYPE é o tipo de disco de arranque. Para obter uma lista dos tipos de discos disponíveis, execute gcloud compute disk-types list.
    • NETWORK é a rede na qual criar a VM.

    Por exemplo:

    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
    

    Depois de criar a estação de trabalho virtual, é apresentado o estado da máquina. O resultado tem um aspeto semelhante ao seguinte:

    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
    

    Tome nota do endereço IP externo da estação de trabalho virtual. Vai usá-lo mais tarde no tutorial.

    Pode obter o endereço IP externo da sua estação de trabalho virtual em qualquer altura através da Google Cloud consola.

Inicie sessão na sua estação de trabalho virtual

Depois de criar a estação de trabalho virtual, inicia sessão na máquina para a poder configurar.

  1. No Cloud Shell, ligue-se à nova estação de trabalho virtual:

    gcloud compute ssh VM_NAME
  2. Defina a palavra-passe da sua conta. O início de sessão numa estação de trabalho virtual através do cliente de software PCoIP requer uma palavra-passe do utilizador.

    sudo passwd `whoami`

    Quando lhe for pedido, introduza uma palavra-passe. Vai usar esta palavra-passe mais tarde no tutorial para iniciar sessão na sua estação de trabalho virtual com o cliente PCoIP do HP Anyware.

Instale as bibliotecas base

A imagem predefinida do Google Cloud  Ubuntu 22.04 é uma instalação mínima do Ubuntu. O passo seguinte é instalar as bibliotecas necessárias para executar a estação de trabalho virtual como uma estação de trabalho de gráficos.

  1. Atualize os repositórios de software:

    sudo apt update
  2. Instale os componentes base:

    sudo apt install -y build-essential
    sudo apt install -y libvulkan1
    
  3. Atualize a versão gcc para o controlador da 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
    

Instale o controlador da NVIDIA

As GPUs NVIDIA L4, NVIDIA T4, NVIDIA P4 e NVIDIA P100 funcionam Google Cloud apenas com controladores NVIDIA RTX Virtual Workstation qualificados para cargas de trabalho de visualização. Estes controladores podem ser transferidos a partir de um Google Cloud contentor de armazenamento público.

  1. Para instalar o controlador mais recente da estação de trabalho virtual NVIDIA RTX, siga as instruções (apenas os passos 3 e 4).

  2. Reinicie a estação de trabalho:

    sudo reboot

Instale o ambiente de trabalho

É necessário um ambiente de trabalho para executar a sua estação de trabalho virtual como uma estação de trabalho de gráficos. Para este tutorial, instala o ambiente de trabalho KDE Plasma.

  1. Instale o ambiente de trabalho:

    sudo apt update
    sudo apt -y install kubuntu-desktop
    sudo apt -y install dialog
    
  2. Reinicie a estação de trabalho:

    sudo reboot

Instale o software HP Anyware

O software HP Anyware oferece um agente gráfico que é executado na sua estação de trabalho virtual, disponibilizando o ambiente de trabalho ao seu cliente de hardware ou software.

  1. Quando a estação de trabalho virtual for reiniciada, no Cloud Shell, volte a ligar-se à estação de trabalho virtual:

    gcloud compute ssh VM_NAME
  2. Adicione o repositório de software da Teradici:

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

    Substitua o seguinte:

  3. Atualize os repositórios de software:

    sudo apt update
  4. Opcional: instale dependências USB se precisar de suportar dispositivos USB que não sejam teclados, ratos e dispositivos de ponteiro.

    sudo apt -y install usb-vhci-dkms
  5. Instale o software HP Anyware:

    sudo apt -y install pcoip-agent-graphics

Registe o agente de gráficos do Anyware

Para usar o agente gráfico do HP Anyware, tem de ter uma licença do HP Anyware.

  1. No Cloud Shell, ative a licença do software HP Anyware:

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

    Substitua REGISTRATION-CODE pelo código que lhe foi fornecido pela HP Teradici no formato ABCDEFGHIJKL@0123-4567-89AB-CDEF.

  2. Reinicie a estação de trabalho virtual:

    sudo reboot

Crie uma regra de firewall

O cliente PCoIP comunica com a sua estação de trabalho virtual através de várias portas. Tem de definir regras de firewall que permitam o tráfego para a sua estação de trabalho virtual.

  • No Cloud Shell (não na estação de trabalho virtual), crie uma regra de firewall que abra as portas necessárias:

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

Inicie sessão na sua estação de trabalho virtual através do cliente PCoIP

  1. No seu computador local, aceda à secção PCoIP Clients na página de apoio técnico do HP Anyware e, de seguida, transfira, instale e inicie a aplicação PCoIP Software Client para o seu sistema operativo.

  2. No campo Endereço do anfitrião ou código de registo, introduza o endereço IP externo da sua estação de trabalho virtual. Se quiser, pode introduzir um nome para a ligação.

  3. Quando tiver ligação, autentique-se introduzindo o nome de utilizador e a palavra-passe que criou anteriormente para a estação de trabalho virtual.

    Em alguns segundos, é apresentado o ambiente de trabalho do Linux.

Teste a sua estação de trabalho virtual

Depois de implementar a estação de trabalho virtual, pode testar o desempenho e a interatividade através de várias ferramentas:

  • Execute ferramentas de benchmark da GPU, como glxgears, glmark2 ou UNIGINE, que são programas para testar o desempenho gráfico numa estação de trabalho Linux.
  • Instale o Unreal Engine, Unity Editor, Blender> ou qualquer aplicação de criação de conteúdo.
  • Execute ferramentas de testes de referência de renderização para renderizadores populares, como V-Ray, Octane, ou Maxon.
  • Use o Google Chrome para navegar nos seus sites favoritos ou ver vídeos do YouTube.

Também pode saber mais sobre a otimização do desempenho do PCoIP com base na sua carga de trabalho.