Crie uma estação de trabalho virtual Linux com aceleração de GPU

Este tutorial mostra como criar uma estação de trabalho virtual do Linux executando o Ubuntu 22.04 com uma GPU conectada com capacidade de exibição . Google Cloud O oferece quatro GPUs com capacidade de exibição: NVIDIA L4, NVIDIA T4, NVIDIA P4 e NVIDIA P100.

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

Depois de criar a estação de trabalho virtual, você aprenderá como acessá-la remotamente usando o HP Anyware (antigo Teradici CAS) usando a tecnologia PC via IP (PCoIP®), que é um protocolo de desktop remoto (RDP) amplamente utilizado nos setores de mídia e entretenimento, desenvolvimento de jogos, arquitetura e engenharia. O PCoIP oferece recursos essenciais para esses tipos de cargas de trabalho, incluindo precisão de cores, compatibilidade com vários monitores, tela sem perdas e sensibilidade à pressão do tablet.

Neste tutorial, presumimos que você esteja familiarizado com a linha de comando do Linux.

Objetivos

  • Criar uma instância do Compute Engine com uma GPU. A instância servirá como base para a estação de trabalho virtual. Esta instância serve como base para uma estação de trabalho virtual.
  • Instalar os drivers da NVIDIA na estação de trabalho virtual.
  • Instale o software HP Anyware na estação de trabalho virtual.
  • Conectar-se à estação de trabalho virtual usando um cliente de software PCoIP.

Custos

Neste tutorial, usamos o seguinte componente faturável do Google Cloud:

Use a calculadora de preços para gerar uma estimativa de custo com base no uso previsto.

Os recursos que compõem a estação de trabalho virtual e os fatores que afetam o custo neste tutorial são:

A transferência de dados da Internet representa os dados que são transmitidos da sua estação de trabalho virtual para o cliente de exibição local com a cobrança realizada de acordo com os custos de transferência de dados de saída da Internet. As variáveis que afetam a transferência de dados durante uma sessão de PCoIP são largura de banda, resolução de tela, número de monitores de exibição, aplicativos usados e tipo de atividade em cada monitor. O Guia de planejamento de sessão do HP Anyware ajuda a entender os diferentes requisitos de carga de trabalho.

Antes de começar

Neste tutorial, usamos a CLI do Google Cloud, que pode ser executada em uma instância do Cloud Shell iniciada no Google Cloud console. Se você quiser usar a gcloud CLI na sua estação de trabalho local, instale a CLI do Google Cloud. No tutorial, mostramos como executar comandos no Cloud Shell. Se você usa a CLI gcloud na estação de trabalho, ajuste as instruções de acordo.

  1. Faça login na sua Google Cloud conta do. Se você começou a usar o Google Cloud, crie uma conta para avaliar o desempenho dos nossos produtos em situações reais. Clientes novos também recebem US $300 em créditos para executar, testar e implantar cargas de trabalho.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

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

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Além disso, verifique se você tem:

  • Um Google Cloud projeto com cota para GPUs NVIDIA L4 Virtual Workstation na zona selecionada . É possível conseguir uma listagem da disponibilidade da GPU usando o comando gcloud compute accelerator-types list.
  • Um navegador do Google Chrome para acessar o Google Cloud console.
  • O software cliente PCoIP mais recente para Windows, Mac ou Linux para acessar a estação de trabalho virtual.
  • Uma conta em help.teradici.com para fazer o download do software HP Anyware. O registro da conta é sem encargos.
  • Uma licença de software do HP Anyware. Solicite uma licença de avaliação ou entre em contato com o representante da HP e solicite um código de registro de avaliação para usar na estação de trabalho virtual.

Arquitetura

O diagrama a seguir mostra os componentes usados neste tutorial para implantar uma única estação de trabalho virtual. Os componentes opcionais mostrados no diagrama incluem maneiras diferentes de se conectar à estação de trabalho virtual, ao armazenamento compartilhado, a uma instância adicional para disponibilizar licenças de terceiros e a infraestrutura adicional que representa um farm de renderização ou computação.

Arquitetura de estação de trabalho virtual.

Escolha uma região.

Um fator importante ao implantar uma estação de trabalho virtual é a latência entre seu local e a instância criada. Quanto menor for a latência, melhor será a experiência. Portanto, trabalhe em uma região geograficamente mais próxima de onde você está. Para saber mais sobre os locais em que as diferentes GPUs estão disponíveis, consulte Disponibilidade de regiões e zonas de GPU.

  1. Abra o Cloud Shell. Se você estiver usando a CLI gcloud, abra uma janela do terminal no computador.

    Acessar o Cloud Shell

  2. Receba a lista das zonas com GPUs disponíveis:

    gcloud compute accelerator-types list

    Anote a região e a zona que estão mais próximas de você.

  3. Defina a zona com que você quer trabalhar.

    gcloud config set compute/zone ZONE

    Substitua ZONE pelo nome da zona que você está usando, como us-west1-b.

Escolher um tipo de máquina

As GPUs NVIDIA L4 estão conectadas 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 adicionada à 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 memória e de vCPU disponíveis para diferentes configurações de GPU, consulte a lista de GPUs.

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

Criar 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:

    • VM_NAME é o nome da estação de trabalho.
    • ZONE é a zona onde a instância será criada.
    • MACHINE_TYPE é a configuração de máquina predefinida ou personalizada.
    • ACCELERATOR é o tipo de GPU que você quer anexar, como nvidia-l4-vws.
    • NUM-GPUS é o número de GPUs a serem anexadas à VM.
    • SIZE é o tamanho do disco de inicialização, em gigabytes.
    • TYPE é o tipo de disco de inicialização. Para ver uma lista de tipos de disco disponíveis, execute gcloud compute disk-types list.
    • NETWORK é a rede em que a VM será criada;

    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
    

    Após a criação da estação de trabalho virtual, será exibido o status da máquina. A saída será assim:

    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
    

    Anote o endereço IP externo da estação de trabalho virtual. Você precisará usá-lo posteriormente neste tutorial.

    É possível recuperar o endereço IP externo da estação de trabalho virtual a qualquer momento usando o Google Cloud console.

Fazer login na estação de trabalho virtual

Depois de criar a estação de trabalho virtual, faça o login na máquina para configurá-la.

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

    gcloud compute ssh VM_NAME
  2. Defina a senha da conta. Para fazer login em uma estação de trabalho virtual usando o cliente de software PCoIP, é necessário ter uma senha de usuário.

    sudo passwd `whoami`

    Quando for necessário, digite-a. Você usará essa senha posteriormente neste tutorial para fazer login na estação de trabalho virtual com o HP Anyware PCoIP Client.

Instalar as bibliotecas de base

A imagem padrão do Google Cloud Ubuntu 22.04 é uma instalação mínima de Ubuntu. A próxima etapa é instalar as bibliotecas necessárias para executar a estação de trabalho virtual como uma estação de trabalho gráfica.

  1. Atualize os repositórios de software:

    sudo apt update
  2. Instale os componentes de base:

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

Instalar o driver da NVIDIA

As GPUs NVIDIA L4, NVIDIA T4, NVIDIA P4 e NVIDIA P100 funcionam apenas com drivers de estação de trabalho virtual NVIDIA RTX qualificados para cargas de trabalho de visualização. Google CloudEsses drivers podem ser baixados de umbucket de armazenamento público Google Cloud .

  1. Para instalar o driver mais recente da NVIDIA Virtual RTX Workstation, siga as instruções (apenas nas etapas 3 e 4).

  2. Reinicialize a estação de trabalho:

    sudo reboot

Instalar o ambiente de área de trabalho

Um ambiente de área de trabalho é necessário para executar a estação de trabalho virtual como uma estação de trabalho gráfica. Neste tutorial, você instala o KDE Plasma Desktop.

  1. Instale o ambiente de área de trabalho:

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

    sudo reboot

Instalar o software HP Anyware

O software HP Anyware fornece um agente gráfico que é executado na estação de trabalho virtual para fornecer a área de trabalho ao cliente de hardware ou software.

  1. Após a estação de trabalho virtual ser reiniciada, conecte-se novamente à ela usando o Cloud Shell:

    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:

  3. Atualize os repositórios de software:

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

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

    sudo apt -y install pcoip-agent-graphics

Registrar o agente gráfico do Anyware

Para usar o Anyware Graphics Agent, você precisa ter uma licença 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 fornecido pelo HP Teradici no formato ABCDEFGHIJKL@0123-4567-89AB-CDEF.

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

    sudo reboot

Criar uma regra de firewall

O cliente PCoIP se comunica com a estação de trabalho virtual usando várias portas. Defina regras de firewall que permitam o tráfego para 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
    

Fazer login na estação de trabalho virtual usando o cliente PCoIP

  1. No computador local, acesse a seção PCoIP Clients (em inglês) na página de suporte do HP Anyware, faça o download e a instalação do aplicativo do Software PCoIP Client para o sistema operacional e, em seguida, inicie-o.

  2. No campo Host Address ou Registration Code, insira o endereço IP externo da sua estação de trabalho virtual. Se quiser, insira um nome para a conexão.

  3. Depois de se conectar, autentique-se inserindo o nome de usuário e a senha que você criou para a estação de trabalho virtual.

    Em alguns segundos, sua área de trabalho Linux será exibida.

Testar a estação de trabalho virtual

Depois de implantar a estação de trabalho virtual, é possível testar o desempenho e a interatividade dela usando várias ferramentas:

Saiba mais sobre a otimização de desempenho do PCoIP com base na carga de trabalho.

Limpar

Para evitar cobranças na sua conta do Google Cloud pelos recursos usados neste tutorial, exclua o projeto que os contém ou mantenha o projeto e exclua os recursos individuais.

Depois de concluir este tutorial, limpe os recursos que você criou no Google Cloud para não receber cobranças no futuro.

Interromper a estação de trabalho virtual

As estações de trabalho virtuais interrompidas geram cobranças pelo uso do disco permanente, mas podem ser reiniciadas a qualquer momento. Para interromper a estação de trabalho virtual, execute o comando a seguir no Cloud Shell:

gcloud compute instances stop VM_NAME

Excluir todos os componentes

  1. Exclua a estação de trabalho virtual.
  2. Exclua a regra de firewall.

Excluir o projeto

  1. No Google Cloud console, acesse a página Gerenciar recursos.

    Acessar "Gerenciar recursos"

  2. Na lista de projetos, selecione o projeto que você quer excluir e clique em Excluir.
  3. Na caixa de diálogo, digite o ID do projeto e clique em Desligar para excluir o projeto.

A seguir