Esta página descreve a configuração de GPU para seus jobs do Cloud Run. As GPUs funcionam bem para cargas de trabalho de IA, como treinar modelos de linguagem grandes (LLMs) usando seus frameworks preferidos, realizar inferência em lote ou off-line em LLMs e lidar com outras tarefas que exigem computação intensiva, como processamento de vídeo e renderização de gráficos como jobs em segundo plano. O Google fornece a GPU NVIDIA RTX PRO 6000 Blackwell com 96 GB de memória de GPU (VRAM) e as GPUs NVIDIA L4 com 24 GB de memória de GPU (VRAM), que é separada da memória da instância.
A GPU no Cloud Run é totalmente gerenciada, sem drivers ou bibliotecas extras necessários. O recurso GPU oferece disponibilidade sob demanda sem necessidade de reservas, semelhante à maneira como CPU e memória sob demanda funcionam no Cloud Run.
As instâncias do Cloud Run com uma GPU NVIDIA RTX PRO 6000 Blackwell ou L4 anexada e drivers pré-instalados são iniciadas em aproximadamente cinco segundos. Nesse momento, os processos em execução no seu contêiner podem começar a usar a GPU.
Você pode configurar uma GPU por instância do Cloud Run. Se você usar contêineres secundários a GPU só pode ser conectada a um único contêiner.
Tipos de GPU compatíveis
O Cloud Run é compatível com dois tipos de GPUs:
- GPU NVIDIA RTX PRO 6000 Blackwell com a versão atual do driver NVIDIA: 580.x.x (13.0). Para a GPU NVIDIA RTX PRO 6000 Blackwell, é necessário usar pelo menos 20 CPUs e 80 GiB de memória.
- GPU L4 com a versão atual do driver NVIDIA: 580.x.x (13.0). Para GPUs L4, é necessário usar pelo menos 4 CPUs e 16 GiB de memória.
Regiões compatíveis
As seguintes regiões são compatíveis com a GPU NVIDIA RTX PRO 6000 Blackwell:
asia-southeast1(Singapura).asia-south2(Déli, Índia).europe-west4(Países Baixos)Baixo CO2
us-central1(Iowa)Baixo CO2
As seguintes regiões são compatíveis com a GPU L4:
asia-southeast1(Singapura)asia-south1(Mumbai) . Essa região está disponível apenas para convidados. Entre em contato com sua equipe de contas do Google se tiver interesse nessa região.europe-west1(Bélgica)Baixo CO2
europe-west4(Países Baixos)Baixo CO2
us-central1(Iowa)Baixo CO2 . O escalonamento de recursos adicionais nessa região pode exigir uma solicitação de aumento de cota. Entre em contato com a equipe de contas do Google se tiver interesse nessa região.
us-east4(Norte da Virgínia) . O escalonamento de recursos adicionais nessa região pode exigir uma solicitação de aumento de cota. Entre em contato com a equipe de contas do Google se tiver interesse nessa região.
Impacto no preço
Consulte os detalhes de preços de GPU em Preços do Cloud Run. Observe os seguintes requisitos e considerações:
- A GPU para jobs segue os preços sem redundância zonal.
- As configurações de CPU e memória do recurso.
- A GPU é cobrada de acordo com a duração total do ciclo de vida da instância.
Redundância não zonal de GPU
O recurso de jobs do Cloud Run oferece suporte à redundância não zonal apenas para instâncias com GPU. Com a redundância não zonal ativada, o Cloud Run tenta fazer o failover de jobs com GPU ativada da melhor maneira possível. O Cloud Run encaminha as execuções de jobs para outras zonas somente se houver capacidade de GPU suficiente disponível no momento. Essa opção não garante capacidade reservada para cenários de failover, mas resulta em um custo menor por segundo de GPU.
Consulte Configurar um job do Cloud Run com GPU para saber como ativar a redundância não zonal.
Solicitar aumento de cota
A cota para GPUs do Cloud Run nvidia-rtx-pro-6000
é concedida em milliGPUs. Os projetos que usam GPUs nvidia-rtx-pro-6000 em uma região
pela primeira vez recebem automaticamente uma cota de 3.000 milliGPU
(redundância zonal desativada) quando a primeira implantação é criada. Isso equivale a 3 GPUs. Os projetos que usam GPUs do Cloud Run nvidia-l4 em uma região pela
primeira vez recebem automaticamente uma cota de 3 GPUs (redundância zonal desativada) quando a
primeira implantação é criada.
Essa concessão automática de cota está sujeita à disponibilidade, dependendo da sua capacidade de CPU e memória. Isso limita a contagem de GPUs que podem estar ativas em todos os serviços, jobs e pools de workers do projeto em um determinado momento.
Se você precisar de mais GPUs do Cloud Run para jobs, solicite um aumento de cota.
Antes de começar
A lista a seguir descreve os requisitos e as limitações ao usar GPUs no Cloud Run:
- Faça login na sua conta do Google Cloud . Se você começou a usar o Google Cloudagora, 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 sem custos financeiros.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Ative a API Cloud Run, se ainda não tiver feito isso.
Funções necessárias para ativar APIs
Para ativar APIs, você precisa da permissão
serviceusage.services.enable. Se você criou o projeto, provavelmente já tem essa permissão pelo papel de proprietário (roles/owner). Caso contrário, é possível conseguir essa permissão pelo papel de administrador do Service Usage (roles/serviceusage.serviceUsageAdmin). Saiba como conceder papéis.- Consulte Práticas recomendadas: jobs do Cloud Run com GPUs para otimizar o desempenho ao usar jobs do Cloud Run com GPU.
Funções exigidas
Para receber as permissões necessárias e configurar jobs do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM nos jobs:
- Desenvolvedor do Cloud Run (
roles/run.developer): o job do Cloud Run - Usuário da conta de serviço (
roles/iam.serviceAccountUser) – a identidade de serviço
Para uma lista de papéis e permissões do IAM associados ao Cloud Run, consulte Papéis do IAM do Cloud Run e Permissões do IAM do Cloud Run. Se o job do Cloud Run interagir com APIs doGoogle Cloud , como bibliotecas de cliente do Cloud, consulte o guia de configuração de identidade de serviço. Para mais informações sobre como conceder papéis, consulte permissões de implantação e gerenciar acesso.
Configurar um job do Cloud Run para usar GPUs
É possível configurar um job do Cloud Run para usar GPUs usando o Google Cloud console, a CLI gcloud ou o YAML:
Console
No console do Google Cloud , acesse a página do Cloud Run:
Selecione Jobs no menu de navegação do Cloud Run:
Se você estiver criando um novo job, clique em Implantar contêiner para preencher a página inicial de configurações do job.
Se você estiver configurando um job, selecione-o e clique em Ver e editar a configuração do job.
Clique em Contêineres, conexões, segurança para expandir a página de propriedades do job.
Na guia Contêineres, configure a memória e a CPU de acordo com os requisitos em Tipos de GPU compatíveis.
Marque a caixa de seleção GPU.
Selecione o tipo de GPU no menu Tipo de GPU e o número de GPUs no menu Número de GPUs.
Clique em Criar ou Atualizar.
gcloud
Para ativar a redundância não zonal, especifique
--no-gpu-zonal-redundancy. Isso é necessário para usar a GPU com jobs.
Para criar um job com GPUs ativadas, execute o seguinte comando:
gcloud run jobs create JOB \ --image=IMAGE_URL \ --gpu=1 \ --no-gpu-zonal-redundancy
Substitua:
JOB: o nome do seu job do Cloud Run;IMAGE_URL: uma referência à imagem do contêiner, por exemplo,us-docker.pkg.dev/cloudrun/container/job:latest.
Para atualizar a configuração da GPU de um job, execute o seguinte comando:
gcloud run jobs update JOB \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --parallelism PARALLELISM \ --no-gpu-zonal-redundancy
Substitua:
JOB: o nome do seu job do Cloud Run;IMAGE_URL: uma referência à imagem do contêiner, por exemplo,us-docker.pkg.dev/cloudrun/container/job:latest.CPU: o número de CPUs. Para a GPU NVIDIA RTX PRO 6000 Blackwell, é necessário especificar pelo menos20CPU. Para a GPU L4, é preciso especificar pelo menos4CPU.MEMORY: a quantidade de memória. Para a GPU NVIDIA RTX PRO 6000 Blackwell, especifique pelo menos80Gi(80 GiB). Para a GPU L4, é preciso especificar pelo menos16Gi(16 GiB).GPU_NUMBER: o valor1(um). Se isso não for especificado, mas um GPU_TYPE estiver presente, o padrão será1.GPU_TYPE: o tipo de GPU. Para a GPU NVIDIA RTX PRO 6000 Blackwell, insiranvidia-rtx-pro-6000. Para a GPU L4, insiranvidia-l4(nvidia-L4 L minúsculo, não o valor numérico 14).PARALLELISM: um valor inteiro menor que o menor valor dos limites de cota aplicáveis que você alocou para o projeto.
YAML
Defina a anotação run.googleapis.com/gpu-zonal-redundancy-disabled:
como true. Isso permite a redundância não zonal, que é necessária para GPUs para
jobs.
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
gcloud run jobs describe JOB --format export > job.yaml
Atualize o atributo
nvidia.com/gpu,annotations: run.googleapis.com/launch-stagepara a fase de lançamento enodeSelector::
run.googleapis.com/acceleratorapiVersion: run.googleapis.com/v1 kind: Job metadata: name: JOB labels: cloud.googleapis.com/location: REGION spec: template: metadata: annotations: run.googleapis.com/gpu-zonal-redundancy-disabled: 'true' spec: template: spec: containers: - image: IMAGE_URL limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: 'GPU_NUMBER' nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
Substitua:
JOB: o nome do seu job do Cloud Run;REGION: a região do Google Cloud . Por exemplo,europe-west1.IMAGE_URL: uma referência à imagem do contêiner, por exemplo,us-docker.pkg.dev/cloudrun/container/job:latest.CPU: o número de CPUs. Para a GPU NVIDIA RTX PRO 6000 Blackwell, é necessário especificar pelo menos20CPU. Para a GPU L4, é preciso especificar pelo menos4CPU.MEMORY: a quantidade de memória. Para a GPU NVIDIA RTX PRO 6000 Blackwell, especifique pelo menos80Gi(80 GiB). Para a GPU L4, é necessário especificar pelo menos16Gi(16 GiB).GPU_NUMBER: o valor1(um) porque é possível anexar apenas uma GPU por instância do Cloud Run.GPU_TYPE: o tipo de GPU. Para a GPU NVIDIA RTX PRO 6000 Blackwell, insiranvidia-rtx-pro-6000. Para a GPU L4, insira o valornvidia-l4(nvidia-L4 com L minúsculo, não o valor numérico 14).
Crie ou atualize o serviço usando o seguinte comando:
gcloud run jobs replace job.yaml
O comando
gcloud run jobs replaceusa o arquivojob.yamlpor padrão, se ele estiver presente.
Conferir as configurações da GPU
Para ver as configurações atuais de GPU do job do Cloud Run, use o console do Google Cloud ou a Google Cloud CLI:
Console
No console do Google Cloud , acesse a página de jobs do Cloud Run:
Clique no job para abrir a página Detalhes do job.
Clique em Exibir e editar a configuração do job.
Localize a configuração da GPU nos detalhes da configuração.
gcloud
Execute este comando:
gcloud run jobs describe JOB
Localize a configuração da GPU na configuração retornada.
Remover recursos de GPU de um job
É possível remover recursos de GPU de um job usando o Google Cloud console, a CLI gcloud ou o YAML:
Console
No console do Google Cloud , acesse a página do Cloud Run:
Selecione Jobs no menu de navegação do Cloud Run:
Se você estiver criando um novo job, clique em Implantar contêiner para preencher a página inicial de configurações do job.
Se você estiver configurando um job, selecione-o e clique em Ver e editar a configuração do job.
Clique em Contêineres, conexões, segurança para expandir a página de propriedades do job.
Na guia Contêineres, desmarque a caixa de seleção GPU.
Clique em Atualizar.
gcloud
Para remover recursos de GPU do job do Cloud Run, defina o número de
GPUs como 0 usando o
comando gcloud run jobs update:
gcloud run jobs update JOB --gpu 0
Substitua JOB pelo nome do job do Cloud Run.
YAML
Se você estiver criando um novo serviço, pule esta etapa. Se você estiver atualizando um serviço existente, faça o download da configuração YAML correspondente:
gcloud run jobs describe JOB --format export > job.yaml
Exclua as linhas
nvidia.com/gpu:,run.googleapis.com/gpu-zonal-redundancy-disabled: 'true'enodeSelector:.
run.googleapis.com/accelerator: GPU_TYPECrie ou atualize o serviço usando o seguinte comando:
gcloud run jobs replace job.yaml
O comando
gcloud run jobs replaceusa o arquivojob.yamlpor padrão, se ele estiver presente.
Bibliotecas de drivers
Por padrão, todas as bibliotecas de drivers da GPU NVIDIA RTX PRO 6000 Blackwell e da GPU NVIDIA L4
são montadas em /usr/local/nvidia/lib64. O Cloud Run anexa automaticamente
esse caminho à variável de ambiente LD_LIBRARY_PATH
(ou seja, ${LD_LIBRARY_PATH}:/usr/local/nvidia/lib64) do contêiner com a
GPU. Isso permite que o vinculador dinâmico encontre as bibliotecas de drivers da NVIDIA. O
vinculador pesquisa e resolve caminhos na ordem listada na variável de ambiente
LD_LIBRARY_PATH. Os valores especificados nessa variável têm precedência
sobre o caminho padrão das bibliotecas de driver do Cloud Run /usr/local/nvidia/lib64.
Se você quiser usar uma versão do CUDA maior que 13.0,
a maneira mais fácil é depender de uma imagem base NVIDIA
mais recente com pacotes de compatibilidade futura já instalados. Outra opção é
instalar manualmente os pacotes de compatibilidade futura da NVIDIA
e adicioná-los a LD_LIBRARY_PATH. Consulte a matriz de compatibilidade da NVIDIA
para determinar quais versões do CUDA são compatíveis com a versão do driver
fornecido.
Sobre GPUs e paralelismo
Se você estiver executando tarefas paralelas em uma execução de job, determine e defina o valor de paralelismo como menor que a cota de GPU sem redundância zonal alocada para seu projeto. Para solicitar um aumento de cota, consulte Como aumentar a cota. As tarefas de GPU começam o mais rápido possível e vão até um máximo que varia de acordo com a cota de GPU alocada para o projeto e a região selecionada. As implantações do Cloud Run vão falhar se você definir o paralelismo como um valor maior que o limite da cota de GPU.
Para calcular a cota de GPU
que o job usa por execução, multiplique o número de GPUs por tarefa de job
pelo valor de paralelismo. Por exemplo, se você tiver uma cota de GPU de 10 e
implantar o job do Cloud Run com --gpu=1, --parallelism=10, o
job vai consumir toda a cota de 10 GPUs. Como alternativa, se você implantar com --gpu=1, --parallelism=20, as implantações vão falhar.
Para mais informações, consulte Práticas recomendadas: jobs do Cloud Run com GPUs.
A seguir
Consulte Executar inferência de IA no Cloud Run com GPUs para ver tutoriais.