Esta página descreve a configuração de GPU para seus workerpools do Cloud Run. O Google fornece GPUs NVIDIA L4 com 24 GB de memória de GPU (VRAM) e GPUs NVIDIA RTX PRO 6000 Blackwell com 96 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 L4 ou NVIDIA RTX PRO 6000 Blackwell 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 L4 com a versão atual do driver NVIDIA: 535.x.x (12.2). Para GPUs L4, é necessário usar pelo menos quatro CPUs e 16 GiB de memória.
- 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.
Regiões compatíveis
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 por convite. 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 . Essa região está disponível apenas por convite. Entre em contato com sua equipe de contas do Google se tiver interesse nessa região.
us-east4(Norte da Virgínia)
As seguintes regiões têm suporte para a GPU NVIDIA RTX PRO 6000 Blackwell:
asia-southeast1(Singapura).asia-south2(Déli, Índia). Essa região está disponível apenas por convite. Entre em contato com sua equipe de contas do Google se tiver interesse nessa região.europe-west4(Países Baixos)Baixo CO2
us-central1(Iowa)Baixo CO2
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:
- Há uma diferença de custo entre a redundância zonal de GPU e a redundância não zonal. Consulte os detalhes de preços de GPU em Preços do Cloud Run.
- Não é possível escalonar automaticamente os pools de workers de GPU. Você vai receber uma cobrança pela GPU mesmo que ela não esteja executando nenhum processo e enquanto a instância de GPU do pool de workers estiver em execução.
- A CPU e a memória dos pools de workers têm preços diferentes dos serviços e jobs. No entanto, o preço da SKU de GPU é o mesmo dos serviços e jobs.
- As configurações de CPU e memória do seu recurso.
- A GPU é cobrada de acordo com a duração total do ciclo de vida da instância.
Opções de redundância zonal de GPU
Por padrão, o Cloud Run implanta seu pool de workers em várias zonas de uma região. Essa arquitetura oferece resiliência inerente: se uma zona sofrer uma interrupção, o Cloud Run vai rotear automaticamente o tráfego da zona afetada para zonas íntegras na mesma região.
Ao trabalhar com recursos de GPU, lembre-se de que eles têm restrições de capacidade específicas. Durante uma interrupção do serviço na zona, o mecanismo de failover padrão para cargas de trabalho de GPU depende de capacidade de GPU não utilizada suficiente nas zonas íntegras restantes. Devido à natureza restrita das GPUs, essa capacidade nem sempre está disponível.
Para aumentar a disponibilidade dos seus pools de workers acelerados por GPU durante interrupções zonais, configure a redundância zonal especificamente para GPUs:
Redundância zonal ativada (padrão): o Cloud Run reserva capacidade de GPU para seu pool de workers em várias zonas. Isso aumenta significativamente a probabilidade de que o pool de trabalhadores possa processar o tráfego redirecionado de uma zona afetada, oferecendo maior confiabilidade durante falhas zonais com custo adicional por segundo de GPU.
Redundância zonal desativada: o Cloud Run tenta fazer failover para cargas de trabalho de GPU com base no melhor esforço. O tráfego é encaminhado para outras zonas apenas se houver capacidade de GPU suficiente disponível naquele momento. Essa opção não garante capacidade reservada para cenários de failover, mas resulta em um custo menor por segundo de GPU.
SLA
O SLA do Cloud Run com GPU depende se o pool de workers usa a opção de redundância zonal ou não zonal. Consulte a página do SLA para mais detalhes.
Solicitar aumento de cota
Os projetos que usam GPUs do Cloud Run nvidia-l4 em uma região pela primeira vez recebem automaticamente uma cota de três GPUs (redundância zonal desativada) quando a primeira implantação é criada. A cota de GPU do Cloud Run nvidia-rtx-pro-6000 é concedida em milliGPUs. Os projetos que usam a GPU 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 três GPUs.
Se você precisar de mais GPUs do Cloud Run, solicite um aumento de cota para seu pool de workers do Cloud Run. Use os links fornecidos nos botões a seguir para solicitar a cota necessária.
| Cota necessária | Link da cota |
|---|---|
| GPU L4 com redundância zonal desativada (preço mais baixo) | Solicitar cota de GPU sem redundância zonal |
| GPU L4 com redundância zonal ativada (preço mais alto) | Solicitar cota de GPU com redundância zonal |
| GPU NVIDIA RTX PRO 6000 Blackwell com redundância zonal desativada (preço mais baixo) | Solicitar cota de GPU sem redundância zonal |
| GPU NVIDIA RTX PRO 6000 Blackwell com redundância zonal ativada (preço mais alto) | Solicitar cota de GPU com redundância zonal |
Para mais informações sobre como solicitar aumentos de cota, consulte Como aumentar a 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 Cloud, crie uma conta para avaliar o desempenho de nossos produtos em situações reais. Clientes novos também recebem US$ 300 em créditos para executar, testar e implantar cargas de trabalho.
-
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.
ativar a API Cloud Run;
Funções necessárias para ativar APIs
Para ativar as APIs, é necessário ter o papel do IAM de administrador de uso do serviço (
roles/serviceusage.serviceUsageAdmin), que contém a permissãoserviceusage.services.enable. Saiba como conceder papéis.- Solicite a cota necessária.
- Consulte as práticas recomendadas de GPU: pools de workers do Cloud Run com GPUs para conferir recomendações sobre como criar a imagem do contêiner e carregar modelos grandes.
- Verifique se o pool de workers do Cloud Run tem as seguintes configurações:
- Configure as definições de faturamento para faturamento com base em instâncias. Os pools de workers definidos para faturamento com base em instâncias ainda podem ser reduzidos para zero.
- Para a GPU L4, configure um mínimo de 4 CPUs para o pool de trabalhadores, sendo recomendado 8 CPUs, e um mínimo de 16 GiB de memória, sendo recomendado 32 GiB.
- Para a GPU NVIDIA RTX PRO 6000 Blackwell, configure um mínimo de 20 CPUs e 80 GiB de memória.
- Determine e defina uma concorrência máxima ideal para o uso da GPU.
Funções exigidas
Para receber as permissões necessárias para configurar e implantar pools de workers do Cloud Run, peça ao administrador para conceder a você os seguintes papéis do IAM em workerpools:
-
Desenvolvedor do Cloud Run (
roles/run.developer): o pool de worker 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 pool de trabalhadores do Cloud Run interagir com APIsGoogle Cloud , como as 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 pool de workers do Cloud Run com GPU
Qualquer mudança na configuração leva à criação de uma nova revisão. As próximas revisões também recebem automaticamente essa configuração, a menos que você faça atualizações explícitas para alterá-la.
É possível usar o console Google Cloud , a Google Cloud CLI ou o YAML para configurar a GPU.
Console
No Google Cloud console, acesse o Cloud Run:
Selecione Pools de workers no menu de navegação do Cloud Run e clique em Implantar contêiner para configurar um novo pool de workers. Se você estiver configurando um pool de workers atual, clique nele e em Editar e implantar nova revisão.
Ao configurar um novo pool de workers, preencha a página inicial de configurações do pool de workers e clique em Contêineres, Rede e segurança para expandir a página de configuração do pool de workers.
Clique na guia Contêiner.
- Configure CPU, memória, simultaneidade, ambiente de execução e a sondagem de inicialização, seguindo as recomendações em Antes de começar.
- Marque a caixa de seleção da GPU e selecione o tipo de GPU no menu Tipo de GPU e o número de GPUs no menu Número de GPUs.
- Por padrão, a redundância zonal está ativada. Para mudar a configuração atual, marque a caixa de seleção "GPU" para mostrar as opções de redundância de GPU.
- Selecione Sem redundância zonal para desativar a redundância zonal.
- Selecione Redundância zonal para ativar esse recurso.
Clique em Criar ou Implantar.
gcloud
Para criar um pool de workers com GPU, use o comando
gcloud run worker-pools deploy:
gcloud run worker-pools deploy WORKER_POOL \ --image IMAGE_URL \ --gpu 1
Substitua:
- WORKER_POOL: o nome do seu pool de workers do Cloud Run.
- IMAGE_URL: uma referência à imagem do contêiner que
contém o pool de workers, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
Para atualizar a configuração de GPU de um pool de workers, use o comando
gcloud run worker-pools update:
gcloud run worker-pools update WORKER_POOL \ --image IMAGE_URL \ --cpu CPU \ --memory MEMORY \ --gpu GPU_NUMBER \ --gpu-type GPU_TYPE \ --GPU_ZONAL_REDUNDANCY
Substitua:
- WORKER_POOL: o nome do seu pool de workers do Cloud Run.
- IMAGE_URL: uma referência à imagem do contêiner que
contém o pool de workers, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - CPU: o número de CPUs. Para GPUs NVIDIA L4, é necessário especificar pelo menos
4CPU. Para a GPU NVIDIA RTX PRO 6000 Blackwell, é necessário especificar pelo menos20CPU. - MEMORY: a quantidade de memória. Para GPUs NVIDIA L4, especifique pelo menos
16Gi(16 GiB). Para a GPU NVIDIA RTX PRO 6000 Blackwell, especifique pelo menos80Gi(80 GiB). - GPU_NUMBER: o valor
1(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 L4, insira o valor
nvidia-l4(nvidia-L4 L minúsculo, não o valor numérico 14). GPU NVIDIA RTX PRO 6000 Blackwell, insiranvidia-rtx-pro-6000. - GPU_ZONAL_REDUNDANCY:
no-gpu-zonal-redundancypara desativar a redundância zonal ougpu-zonal-redundancypara ativar.
YAML
Se você estiver criando um novo pool de workers, pule esta etapa. Se você estiver atualizando um pool de trabalhadores, baixe a configuração YAML correspondente:
gcloud run worker-pools describe WORKER_POOL --format export > workerpool.yaml
Atualize o atributo
nvidia.com/gpu:enodeSelector::
run.googleapis.com/accelerator:apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL spec: template: metadata: annotations: run.googleapis.com/gpu-zonal-redundancy-disabled: 'GPU_ZONAL_REDUNDANCY' spec: containers: - image: IMAGE_URL resources: limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: '1' nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
Substitua:
- WORKER_POOL: o nome do seu pool de workers do Cloud Run.
- IMAGE_URL: uma referência à imagem do contêiner que
contém o pool de workers, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - CPU: o número de CPUs. Para a GPU L4, é preciso especificar pelo menos
4CPUs. Para a GPU NVIDIA RTX PRO 6000 Blackwell, é necessário especificar pelo menos20CPU. - MEMORY: a quantidade de memória. Para a GPU L4, especifique pelo menos
16Gi(16 GiB). Para a GPU NVIDIA RTX PRO 6000 Blackwell, especifique pelo menos80Gi(80 GiB). - GPU_TYPE: o tipo de GPU. Para a GPU L4, insira o valor
nvidia-l4(nvidia-L4 L minúsculo, não o valor numérico 14). GPU NVIDIA RTX PRO 6000 Blackwell, insiranvidia-rtx-pro-6000. - GPU_ZONAL_REDUNDANCY:
falsepara ativar a redundância zonal de GPU outruepara desativar.
Crie ou atualize o pool de workers usando o seguinte comando:
gcloud run worker-pools replace workerpool.yaml
Terraform
Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform.
resource "google_cloud_run_v2_worker_pool" "default" {
provider = google-beta
name = "WORKER_POOL"
location = "REGION"
template {
gpu_zonal_redundancy_disabled = "GPU_ZONAL_REDUNDANCY"
containers {
image = "IMAGE_URL"
resources {
limits = {
"cpu" = "CPU"
"memory" = "MEMORY"
"nvidia.com/gpu" = "1"
}
}
}
node_selector {
accelerator = "GPU_TYPE"
}
}
}
Substitua:
- WORKER_POOL: o nome do seu pool de workers do Cloud Run.
- GPU_ZONAL_REDUNDANCY:
falsepara ativar a redundância zonal de GPU outruepara desativar. - IMAGE_URL: uma referência à imagem do contêiner que
contém o pool de workers, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - CPU: o número de CPUs. Para GPUs NVIDIA L4, é necessário especificar pelo menos
4CPU. Para a GPU NVIDIA RTX PRO 6000 Blackwell, é necessário especificar pelo menos20CPU. - MEMORY: a quantidade de memória. Para GPUs NVIDIA L4, especifique pelo menos
16Gi(16 GiB). Para a GPU NVIDIA RTX PRO 6000 Blackwell, especifique pelo menos80Gi(80 GiB). - GPU_TYPE: o tipo de GPU. Para a GPU L4, insira o valor
nvidia-l4(nvidia-L4 L minúsculo, não o valor numérico 14). GPU NVIDIA RTX PRO 6000 Blackwell, insiranvidia-rtx-pro-6000.
Definir um diretório de trabalho
O diretório de trabalho é onde o contêiner executa os comandos e argumentos. É possível especificar um diretório de trabalho personalizado para o processo do contêiner durante a implantação de um serviço novo ou atual. Se não for especificado, o diretório de trabalho padrão da imagem do contêiner será usado. Para redefinir esse campo para o padrão, transmita uma string vazia ou remova o campo.
Exemplo:
YAML
Se você estiver criando um novo pool de workers, pule esta etapa. Se você estiver atualizando um pool de trabalhadores, baixe a configuração YAML correspondente:
gcloud run worker-pools describe WORKER_POOL --format export > workerpool.yaml
Atualize o atributo
workingDir::apiVersion: run.googleapis.com/v1 kind: WorkerPool metadata: name: WORKER_POOL spec: template: metadata: annotations: run.googleapis.com/launch-stage: BETA run.googleapis.com/gpu-zonal-redundancy-disabled: 'GPU_ZONAL_REDUNDANCY' spec: containers: - image: IMAGE_URL resources: limits: cpu: 'CPU' memory: 'MEMORY' nvidia.com/gpu: '1' workingDir: WORKING_DIR nodeSelector: run.googleapis.com/accelerator: GPU_TYPE
Substitua:
- WORKER_POOL: o nome do seu pool de workers do Cloud Run.
- IMAGE_URL: uma referência à imagem do contêiner que
contém o pool de workers, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - CPU: o número de CPUs. Para a GPU L4, é preciso especificar pelo menos
4CPUs. Para a GPU NVIDIA RTX PRO 6000 Blackwell, é necessário especificar pelo menos20CPU. - MEMORY: a quantidade de memória. Para a GPU L4, especifique pelo menos
16Gi(16 GiB). Para a GPU NVIDIA RTX PRO 6000 Blackwell, especifique pelo menos80Gi(80 GiB). - WORKING_DIR: (opcional) diretório de trabalho do contêiner. Se não for especificado, o padrão do tempo de execução do contêiner será usado, o que pode ser configurado na imagem do contêiner.
- GPU_TYPE: o tipo de GPU. Para a GPU L4, insira o valor
nvidia-l4(nvidia-L4 L minúsculo, não o valor numérico 14). GPU NVIDIA RTX PRO 6000 Blackwell, insiranvidia-rtx-pro-6000. - GPU_ZONAL_REDUNDANCY:
falsepara ativar a redundância zonal de GPU outruepara desativar.
Crie ou atualize o pool de workers usando o seguinte comando:
gcloud run worker-pools replace workerpool.yaml
Terraform
Adicione o seguinte a um recurso
google_cloud_run_v2_worker_pool
na configuração do Terraform:
resource "google_cloud_run_v2_worker_pool" "default" {
provider = google-beta
name = "WORKER_POOL"
location = "REGION"
template {
gpu_zonal_redundancy_disabled = "GPU_ZONAL_REDUNDANCY"
containers {
image = "IMAGE_URL"
resources {
limits = {
"cpu" = "CPU"
"memory" = "MEMORY"
"nvidia.com/gpu" = "1"
}
working_dir = WORKING_DIR
}
}
node_selector {
accelerator = "GPU_TYPE"
}
}
}
Substitua:
- WORKER_POOL: o nome do seu pool de workers do Cloud Run.
- GPU_ZONAL_REDUNDANCY:
falsepara ativar a redundância zonal de GPU outruepara desativar. - IMAGE_URL: uma referência à imagem do contêiner que
contém o pool de workers, como
us-docker.pkg.dev/cloudrun/container/worker-pool:latest. - CPU: o número de CPUs. Para GPUs NVIDIA L4, é necessário especificar pelo menos
4CPU. Para a GPU NVIDIA RTX PRO 6000 Blackwell, é necessário especificar pelo menos20CPU. - MEMORY: a quantidade de memória. Para GPUs NVIDIA L4, especifique pelo menos
16Gi(16 GiB). Para a GPU NVIDIA RTX PRO 6000 Blackwell, especifique pelo menos80Gi(80 GiB). - WORKING_DIR: (opcional) diretório de trabalho do contêiner. Se não for especificado, o padrão do tempo de execução do contêiner será usado, o que pode ser configurado na imagem do contêiner.
- GPU_TYPE: o tipo de GPU. Para a GPU L4, insira o valor
nvidia-l4(nvidia-L4 L minúsculo, não o valor numérico 14). GPU NVIDIA RTX PRO 6000 Blackwell, insiranvidia-rtx-pro-6000.
Conferir as configurações da GPU
Para ver as configurações atuais da GPU do pool de workers do Cloud Run:
Console
No console do Google Cloud , acesse a página de pools de trabalhadores do Cloud Run:
Clique no pool de workers em que você tem interesse para abrir a página Detalhes do pool de workers.
Clique em Editar e implantar nova revisão.
Localize a configuração da GPU nos detalhes da configuração.
gcloud
Use o comando a seguir:
gcloud run worker-pools describe WORKER_POOL
Localize a configuração da GPU na configuração retornada.
Remover GPU
É possível remover a GPU usando o Google Cloud console, a Google Cloud CLI ou o YAML.
Console
No Google Cloud console, acesse o Cloud Run:
Selecione Pools de workers no menu de navegação do Cloud Run e clique em Implantar contêiner para configurar um novo pool de workers. Se você estiver configurando um pool de workers atual, clique nele e em Editar e implantar nova revisão.
Ao configurar um novo pool de workers, preencha a página inicial de configurações do pool de workers e clique em Contêineres, Rede e segurança para expandir a página de configuração do pool de workers.
Clique na guia Contêiner.
- Desmarque a caixa de seleção da GPU.
- Clique em Criar ou Implantar.
gcloud
Para remover a GPU, defina o número de GPUs como 0:
gcloud run worker-pools update WORKER_POOL --gpu 0
Substitua WORKER_POOL pelo nome do pool de workers do Cloud Run.
YAML
Se você estiver criando um novo pool de workers, pule esta etapa. Se você estiver atualizando um pool de trabalhadores, baixe a configuração YAML correspondente:
gcloud run worker-pools describe WORKER_POOL --format export > workerpool.yaml
Exclua as linhas
nvidia.com/gpu:enodeSelector: run.googleapis.com/accelerator: GPU_TYPE.Crie ou atualize o pool de workers usando o seguinte comando:
gcloud run worker-pools replace workerpool.yaml
Bibliotecas de driver
Por padrão, todas as bibliotecas de drivers da GPU NVIDIA L4 e NVIDIA RTX PRO 6000 Blackwell
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
linker pesquisa e resolve caminhos na ordem em que você os lista na variável de ambiente LD_LIBRARY_PATH. Todos 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 12.2,
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.