Este documento descreve as etapas para configurar e implantar clusters Slurm que usam tipos de máquina A4X, A4, A3 Ultra, A3 Mega ou A3 High. Para saber mais sobre esses tipos de máquinas com otimização para aceleradores, consulte Tipos de máquinas com GPU.
Para outros métodos de criação de um cluster Slurm otimizado com IA em Google Cloud, consulte o seguinte:
Para usar um ambiente Slurm gerenciado que simplifica a configuração e o gerenciamento de clusters, consulte o Cluster Director.
Para implantar duas instâncias de máquina virtual (VM) A4 no Slurm, consulte o guia de início rápido para criar um cluster Slurm otimizado com IA.
Limitações
Dependendo da série de máquinas usada pelas VMs no cluster do Slurm, as seguintes limitações se aplicam:
A4X
- Você não recebe descontos por uso prolongado nem descontos por compromisso de uso flexível para instâncias que usam esses tipos de máquina. Além disso, os tipos de máquina A4X Max não oferecem suporte a descontos por uso contínuo com base em recursos.
- Só é possível criar instâncias em determinadas regiões e zonas.
- Não é possível usar o Persistent Disk (regional ou zonal). Só é possível usar o Google Cloud Hyperdisk.
- Esses tipos de máquina estão disponíveis somente na plataforma NVIDIA Grace.
- Não é possível mudar o tipo de máquina para A4X Max ou A4X. Para mudar para ou de um desses tipos de máquina, crie uma nova instância A4X Max ou A4X.
- Não é possível executar sistemas operacionais Windows nesses tipos de máquina.
- Para instâncias A4X, quando você usa
ethtool -Spara monitorar a rede de GPU, os contadores de porta física que terminam em_phynão são atualizados. Esse é o comportamento esperado para instâncias que usam a arquitetura de função virtual (VF) do MRDMA. Para mais informações, consulte Funções do MRDMA e ferramentas de monitoramento de rede. - As instâncias A4X Max e A4X não oferecem suporte ao seguinte:
- Não é possível anexar discos do Hyperdisk ML criados antes de 4 de fevereiro de 2026 aos tipos de máquina A4X.
A4
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível para instâncias que usam um tipo de máquina A4.
- Só é possível usar um tipo de máquina A4 em determinadas regiões e zonas.
- Não é possível usar o Persistent Disk (regional ou zonal). Só é possível usar o Google Cloud Hyperdisk.
- O tipo de máquina A4 só está disponível na plataforma de CPU Emerald Rapids.
- Não é possível mudar o tipo de máquina de uma instância para ou de um tipo de máquina A4. É necessário criar uma nova instância com esse tipo de máquina.
- Os tipos de máquina A4 não são compatíveis com locatário único.
- Não é possível executar sistemas operacionais Windows em um tipo de máquina A4.
- Para instâncias A4, quando você usa
ethtool -Spara monitorar a rede de GPU, os contadores de porta física que terminam em_phynão são atualizados. Esse é o comportamento esperado para instâncias que usam a arquitetura de função virtual (VF) do MRDMA. Para mais informações, consulte Funções do MRDMA e ferramentas de monitoramento de rede. - Não é possível anexar discos do Hyperdisk ML criados antes de 4 de fevereiro de 2026 aos tipos de máquina A4.
A3 Ultra
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível para instâncias que usam um tipo de máquina A3 ultra.
- Só é possível usar um tipo de máquina A3 Ultra em determinadas regiões e zonas.
- Não é possível usar o Persistent Disk (regional ou zonal). Só é possível usar o Google Cloud Hyperdisk.
- O tipo de máquina A3 Ultra só está disponível na plataforma de CPU Emerald Rapids.
- As mudanças de tipo de máquina não são compatíveis com o tipo de máquina A3 Ultra. Para mudar para ou desse tipo de máquina, crie uma nova instância.
- Não é possível executar sistemas operacionais Windows em um tipo de máquina A3 Ultra.
- Os tipos de máquina A3 Ultra não são compatíveis com locatário único.
- Para instâncias A3 Ultra, quando você usa
ethtool -Spara monitorar a rede de GPU, os contadores de porta física que terminam em_phynão são atualizados. Esse é o comportamento esperado para instâncias que usam a arquitetura de função virtual (VF) do MRDMA. Para mais informações, consulte Funções do MRDMA e ferramentas de monitoramento de rede.
A3 Mega
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível para instâncias que usam um tipo de máquina A3 Mega.
- Só é possível usar um tipo de máquina A3 Mega em determinadas regiões e zonas.
- Não é possível usar um Persistent Disk regional em uma instância que usa um tipo de máquina A3 Mega.
- O tipo de máquina A3 Mega só está disponível na plataforma de CPU Sapphire Rapids.
- Não é possível mudar o tipo de máquina para o A3 Mega. Para mudar para ou desse tipo de máquina, crie uma nova instância.
- Não é possível executar sistemas operacionais Windows em um tipo de máquina A3 Mega.
A3 High
- Você não recebe descontos por uso prolongado e descontos por compromisso de uso flexível para instâncias que usam um tipo de máquina A3 High.
- Só é possível usar um tipo de máquina A3 High em determinadas regiões e zonas.
- Não é possível usar Persistent Disk regional em uma instância que usa um tipo de máquina A3 High.
- O tipo de máquina A3 High só está disponível na plataforma de CPU Sapphire Rapids.
- Não é possível mudar o tipo de máquina A3 High. Para mudar para ou desse tipo de máquina, crie uma nova instância.
- Não é possível executar sistemas operacionais Windows em um tipo de máquina A3 High.
- Para os tipos de máquina
a3-highgpu-1g,a3-highgpu-2gea3-highgpu-4g, é necessário criar instâncias usando VMs do Spot ou VMs de início flexível. Para instruções detalhadas sobre essas opções, consulte o seguinte:- Para criar VMs do Spot, defina o modelo de provisionamento como
SPOTao criar uma VM otimizada para aceleradores. - Para criar VMs de início flexível, use um dos seguintes métodos:
- Crie uma VM independente e defina o modelo de provisionamento como
FLEX_STARTao criar uma VM otimizada para aceleradores. - Crie uma solicitação de redimensionamento em um grupo gerenciado de instâncias (MIG). Para instruções, consulte Criar um MIG com VMs de GPU.
- Crie uma VM independente e defina o modelo de provisionamento como
- Para criar VMs do Spot, defina o modelo de provisionamento como
- Só é possível usar uma VM confidencial com um tipo de máquina
a3-highgpu-1gem regiões e zonas limitadas. Além disso, todas as limitações para VMs confidenciais executadas no tipo de máquina A3 High se aplicam.
Antes de começar
Antes de criar um cluster do Slurm, se ainda não tiver feito isso, conclua as seguintes etapas:
- Escolha uma opção de consumo: a opção escolhida determina como você recebe e usa os recursos de GPU.
Para saber mais, consulte Escolher uma opção de consumo.
- Obter capacidade: o processo para obter capacidade varia de acordo com cada opção de consumo.
Para saber mais sobre o processo de obtenção de capacidade para a opção de consumo escolhida, consulte Visão geral da capacidade.
- Verifique se você tem cota de capacidade suficiente do Filestore: é necessário ter cota suficiente do Filestore na região de destino antes da implantação. A capacidade mínima necessária depende dos tipos de máquina no cluster:
- A4, A4X, A3 Ultra e A3 Mega: exigem no mínimo 10 TiB (10.240 GiB) de capacidade HIGH_SCALE_SSD (zonal).
- A3 High: exige um mínimo de 2,5 TiB (2.560 GiB) de capacidade BASIC_SSD (padrão).
Para verificar ou solicitar um aumento de cota, consulte o seguinte:
- Para verificar a cota, consulte Conferir a cota específica da API.
- Se você não tiver cota suficiente, solicite um aumento.
- Instale o Cluster Toolkit: para provisionar clusters Slurm, use a versão
v1.62.0ou mais recente do Cluster Toolkit.Para instalar o Cluster Toolkit, consulte Configurar o Cluster Toolkit.
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
Funções exigidas
Para garantir que a conta de serviço padrão do Compute Engine tenha as permissões necessárias para implantar um cluster do Slurm, peça ao administrador para conceder os seguintes papéis do IAM à conta de serviço padrão do Compute Engine:
-
Leitor de objetos do Storage (
roles/storage.objectViewer) no seu projeto -
Administrador de instâncias do Compute (v1) (
roles/compute.instanceAdmin.v1) no seu projeto -
Usuário da conta de serviço (
roles/iam.serviceAccountUser) na própria conta de serviço
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
O administrador também pode conceder à conta de serviço padrão do Compute Engine as permissões necessárias por meio de papéis personalizados ou outros papéis predefinidos.
Configurar um bucket de armazenamento
Os blueprints de cluster usam módulos do Terraform para provisionar a infraestrutura do Google Cloud. Uma prática recomendada ao trabalhar com o Terraform é armazenar o estado remotamente em um arquivo com suporte a versões. Em Google Cloud, é possível criar um bucket do Cloud Storage com o controle de versões ativado.
Para criar esse bucket e ativar o controle de versões na CLI, execute os seguintes comandos:
gcloud storage buckets create gs://BUCKET_NAME \
--project=PROJECT_ID \
--default-storage-class=STANDARD --location=BUCKET_REGION \
--uniform-bucket-level-access
gcloud storage buckets update gs://BUCKET_NAME --versioning
Substitua:
BUCKET_NAME: um nome para o bucket do Cloud Storage que atende aos requisitos de nomenclatura de bucket.PROJECT_ID: o ID do projeto.BUCKET_REGION: qualquer local disponível.
Abra o diretório do Cluster Toolkit
Para usar o Slurm com o Google Cloud, instale o Cluster Toolkit. Depois de instalar o kit de ferramentas, verifique se você está no diretório Cluster Toolkit executando o seguinte comando:
cd cluster-toolkit
Essa implantação de cluster requer o Cluster Toolkit v1.62.0 ou
uma versão mais recente. Para verificar sua versão, execute o seguinte comando:
./gcluster --version
Criar um arquivo de implantação
Crie um arquivo de implantação que possa ser usado para especificar o bucket do Cloud Storage, definir nomes para sua rede e sub-rede e definir variáveis de implantação, como ID do projeto, região e zona.
Para criar um arquivo de implantação, siga as etapas do tipo de máquina e da opção de consumo necessários.
A4X
Para criar o arquivo de implantação, use um editor de texto para criar um arquivo YAML chamado
a4xhigh-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a4x_cluster_size: NUMBER_OF_VMS
a4x_reservation_name: RESERVATION_NAME
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região que tem as máquinas reservadas.ZONE: a zona em que você quer provisionar o cluster. Se você estiver usando uma opção de consumo baseada em reserva, as informações de região e zona foram fornecidas pela equipe da sua conta quando a capacidade foi entregue.NUMBER_OF_VMS: o número de VMs A4X no cluster. É possível especificar qualquer número de VMs. No entanto, as VMs A4X são interconectadas fisicamente por um sistema NVLink de vários nós em grupos de 18 VMs (72 GPUs) para formar um domínio NVLink.Para uma performance ideal da rede, recomendamos que você especifique um valor múltiplo de 18 VMs (por exemplo, 18, 36 ou 54). Ao criar um cluster A4X, o blueprint A4X cria e aplica automaticamente uma política de posicionamento compacto com uma topologia de GPU de
1x72para cada grupo de 18 VMs. Para mais informações sobre a topologia A4X, consulte Fundamentos do A4X.RESERVATION_NAME: o nome da sua reserva.
A4
Os parâmetros que você precisa adicionar ao arquivo de implantação dependem da opção de consumo que está usando para a implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Vinculada à reserva
Para criar o arquivo de implantação, use um editor de texto para criar um arquivo YAML chamado
a4high-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a4h_cluster_size: NUMBER_OF_VMS
a4h_reservation_name: RESERVATION_NAME
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região que tem as máquinas reservadas.ZONE: a zona em que você quer provisionar o cluster. Se você estiver usando uma opção de consumo baseada em reserva, as informações de região e zona foram fornecidas pela equipe da sua conta quando a capacidade foi entregue.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.RESERVATION_NAME: o nome da sua reserva.
Início flexível
Para criar o arquivo de implantação, use um editor de texto para criar um arquivo YAML chamado
a4high-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a4h_cluster_size: NUMBER_OF_VMS
a4h_dws_flex_enabled: true
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região em que você quer provisionar o cluster.ZONE: a zona em que você quer provisionar o cluster.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.
Essa implantação provisiona nós de computação estáticos, o que significa que o cluster tem um número fixo de nós em todos os momentos. Se você quiser ativar o escalonamento automático do cluster, use o arquivo examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml e edite os valores de node_count_static e node_count_dynamic_max para corresponder ao seguinte:
node_count_static: 0
node_count_dynamic_max: $(vars.a4h_cluster_size)
Spot
Para criar o arquivo de implantação, use um editor de texto para criar um arquivo YAML chamado
a4high-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a4h_cluster_size: NUMBER_OF_VMS
a4h_enable_spot_vm: true
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região em que você quer provisionar o cluster.ZONE: a zona em que você quer provisionar o cluster.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.
A3 Ultra
Os parâmetros que você precisa adicionar ao arquivo de implantação dependem da opção de consumo que está usando para a implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Vinculada à reserva
Para criar o arquivo de implantação, use um editor de texto para criar um arquivo YAML chamado
a3ultra-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3u_cluster_size: NUMBER_OF_VMS
a3u_reservation_name: RESERVATION_NAME
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região que tem as máquinas reservadas.ZONE: a zona em que você quer provisionar o cluster. Se você estiver usando uma opção de consumo baseada em reserva, as informações de região e zona foram fornecidas pela equipe da sua conta quando a capacidade foi entregue.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.RESERVATION_NAME: o nome da sua reserva.
Início flexível
Para criar o arquivo de implantação, use um editor de texto para criar um arquivo YAML chamado
a3ultra-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3u_cluster_size: NUMBER_OF_VMS
a3u_dws_flex_enabled: true
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região em que você quer provisionar o cluster.ZONE: a zona em que você quer provisionar o cluster.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.
Essa implantação provisiona nós de computação estáticos, o que significa que o cluster tem um número fixo de nós em todos os momentos. Se você quiser ativar o escalonamento automático do cluster, use o arquivo examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml e edite os valores de node_count_static e node_count_dynamic_max para corresponder ao seguinte:
node_count_static: 0
node_count_dynamic_max: $(vars.a3u_cluster_size)
Spot
Para criar o arquivo de implantação, use um editor de texto para criar um arquivo YAML chamado
a3ultra-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3u_cluster_size: NUMBER_OF_VMS
a3u_enable_spot_vm: true
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região em que você quer provisionar o cluster.ZONE: a zona em que você quer provisionar o cluster.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.
A3 Mega
Os parâmetros que você precisa adicionar ao arquivo de implantação dependem da opção de consumo que está usando para a implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Vinculada à reserva
Para criar o arquivo de implantação, crie um arquivo YAML chamado
a3mega-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3m_cluster_size: NUMBER_OF_VMS
a3m_reservation_name: RESERVATION_NAME
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região que tem as máquinas reservadas.ZONE: a zona em que você quer provisionar o cluster. Se você estiver usando uma opção de consumo baseada em reserva, as informações de região e zona foram fornecidas pela equipe da sua conta quando a capacidade foi entregue.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.RESERVATION_NAME: o nome da sua reserva.
Início flexível
Para criar o arquivo de implantação, crie um arquivo YAML chamado
a3mega-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3m_cluster_size: NUMBER_OF_VMS
a3m_dws_flex_enabled: true
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região em que você quer provisionar o cluster.ZONE: a zona em que você quer provisionar o cluster.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.
Essa implantação provisiona nós de computação estáticos, o que significa que o cluster tem um número fixo de nós em todos os momentos. Se você quiser ativar o escalonamento automático do cluster, use o arquivo examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml e edite os valores de node_count_static e node_count_dynamic_max para corresponder ao seguinte:
node_count_static: 0
node_count_dynamic_max: $(vars.a3m_cluster_size)
Spot
Para criar o arquivo de implantação, crie um arquivo YAML chamado
a3mega-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3m_cluster_size: NUMBER_OF_VMS
a3m_enable_spot_vm: true
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região em que você quer provisionar o cluster.ZONE: a zona em que você quer provisionar o cluster.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.
A3 High
Os parâmetros que você precisa adicionar ao arquivo de implantação dependem da opção de consumo que está usando para a implantação. Selecione a guia que corresponde ao modelo de provisionamento da sua opção de consumo.
Vinculada à reserva
Para criar o arquivo de implantação, crie um arquivo YAML chamado
a3high-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3h_cluster_size: NUMBER_OF_VMS
a3h_reservation_name: RESERVATION_NAME
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região que tem as máquinas reservadas.ZONE: a zona em que você quer provisionar o cluster. Se você estiver usando uma opção de consumo baseada em reserva, as informações de região e zona foram fornecidas pela equipe da sua conta quando a capacidade foi entregue.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.RESERVATION_NAME: o nome da sua reserva.
Início flexível
Para criar o arquivo de implantação, crie um arquivo YAML chamado
a3high-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3h_cluster_size: NUMBER_OF_VMS
a3h_dws_flex_enabled: true
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região em que você quer provisionar o cluster.ZONE: a zona em que você quer provisionar o cluster.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.
Essa implantação provisiona nós de computação estáticos, o que significa que o cluster tem um número fixo de nós em todos os momentos. Se você quiser ativar o escalonamento automático do cluster, use o arquivo examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml e edite os valores de node_count_static e node_count_dynamic_max para corresponder ao seguinte:
node_count_static: 0
node_count_dynamic_max: $(vars.a3h_cluster_size)
Spot
Para criar o arquivo de implantação, crie um arquivo YAML chamado
a3high-slurm-deployment.yaml e adicione o seguinte conteúdo.
terraform_backend_defaults:
type: gcs
configuration:
bucket: BUCKET_NAME
vars:
deployment_name: DEPLOYMENT_NAME
project_id: PROJECT_ID
region: REGION
zone: ZONE
a3h_cluster_size: NUMBER_OF_VMS
a3h_enable_spot_vm: true
Substitua:
BUCKET_NAME: o nome do bucket do Cloud Storage criado na seção anterior.DEPLOYMENT_NAME: um nome para a implantação. Se você estiver criando vários clusters, escolha um nome exclusivo para cada um deles.PROJECT_ID: o ID do projeto.REGION: a região em que você quer provisionar o cluster.ZONE: a zona em que você quer provisionar o cluster.NUMBER_OF_VMS: o número de VMs que você quer para o cluster.
Provisionar um cluster do Slurm
O Cluster Toolkit provisiona o cluster com base no arquivo de implantação que você criou na etapa anterior e no blueprint padrão do cluster. Para mais informações sobre o software instalado pelo blueprint, incluindo drivers NVIDIA e CUDA, saiba mais sobre imagens personalizadas do Slurm.
Para provisionar o cluster, execute o comando do tipo de máquina no diretório do Cluster Toolkit. Essa etapa leva aproximadamente de 20 a 30 minutos.
A4X
./gcluster deploy -d a4xhigh-slurm-deployment.yaml examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml --auto-approve
A4
./gcluster deploy -d a4high-slurm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml --auto-approve
A3 Ultra
./gcluster deploy -d a3ultra-slurm-deployment.yaml examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml --auto-approve
A3 Mega
./gcluster deploy -d a3mega-slurm-deployment.yaml examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml --auto-approve
A3 High
./gcluster deploy -d a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml --auto-approve
Conectar-se ao cluster do Slurm
Para acessar o cluster, faça login no nó de login do Slurm. Para fazer login, use o console Google Cloud ou a Google Cloud CLI.
Console
Acesse a página Compute Engine > Instâncias de VM.
Localize o nó de login. Ele precisa ter um nome com o padrão
DEPLOYMENT_NAME+login-001.Na coluna Conectar do nó de login, clique em SSH.
gcloud
Para se conectar ao nó de login, siga estas etapas:
Identifique o nó de login usando o comando
gcloud compute instances list.gcloud compute instances list \ --zones=
ZONE\ --filter="name ~ login" --format "value(name)"Se a saída listar vários clusters do Slurm, identifique o nó de login pelo
DEPLOYMENT_NAMEespecificado.Use o comando
gcloud compute sshpara se conectar ao nó de login.gcloud compute ssh LOGIN_NODE \ --zone=
ZONE--tunnel-through-iapSubstitua:
ZONE: a zona em que as VMs do cluster estão localizadas.LOGIN_NODE: o nome do nó de login, que você identificou na etapa anterior.
Testar a performance da rede no cluster do Slurm
Recomendamos que você valide a funcionalidade dos clusters provisionados. Para isso, use os testes do NCCL, que são testes da NVIDIA Collective Communications Library (NCCL) otimizados para o ambiente do Google.
Reimplantar o cluster do Slurm
Se você precisar aumentar o número de nós de computação ou adicionar novas partições ao cluster, talvez seja necessário atualizar as configurações do cluster do Slurm fazendo uma nova implantação. A nova implantação pode ser acelerada usando uma imagem de uma implantação anterior. Para evitar a criação de novas imagens durante uma nova implantação, especifique a flag
--only.
Para reimplantar o cluster usando uma imagem atual, faça o seguinte:
Execute o comando para o tipo de máquina necessário:
A4X
./gcluster deploy -d a4xhigh-slurm-deployment.yaml examples/machine-learning/a4x-highgpu-4g/a4xhigh-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
A4
./gcluster deploy -d a4high-slurm-deployment.yaml examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
A3 Ultra
./gcluster deploy -d a3ultra-slurm-deployment.yaml examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
A3 Mega
./gcluster deploy -d a3mega-slurm-deployment.yaml examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
A3 High
./gcluster deploy -d a3high-slurm-deployment.yaml examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml --only cluster-env,cluster -w --auto-approve
Esse comando é apenas para novas implantações em que uma imagem já existe. Ele apenas reimplanta o cluster e a infraestrutura dele.
Destruir o cluster do Slurm
Por padrão, os modelos A4X, A4 e A3 Ultra ativam a proteção contra exclusão na instância do Filestore. Para excluir a instância do Filestore ao destruir o cluster do Slurm, desative a proteção contra exclusão antes de executar o comando de destruição. Para instruções, consulte Configurar ou remover a proteção contra exclusão em uma instância atual.
Desconecte-se do cluster, caso ainda não tenha feito isso.
Antes de executar o comando de destruição, navegue até a raiz do diretório do Cluster Toolkit. Por padrão, DEPLOYMENT_FOLDER está localizado na raiz do diretório do Cluster Toolkit.
Para destruir o cluster, execute:
./gcluster destroy DEPLOYMENT_FOLDER --auto-approve
Substitua:
DEPLOYMENT_FOLDER: o nome da pasta de implantação. Geralmente, é o mesmo que DEPLOYMENT_NAME.
Quando a destruição for concluída, uma mensagem semelhante a esta será exibida:
Destroy complete! Resources: xx destroyed.
Para saber como destruir a infraestrutura de forma limpa e conferir instruções avançadas de implantação manual, consulte a pasta de implantação localizada na raiz do diretório do Cluster Toolkit: DEPLOYMENT_FOLDER/instructions.txt
A seguir
- Verificar o consumo de reserva
- Ver a topologia de uma instância de computação
- Saiba como gerenciar eventos de host:
- Monitorar VMs no cluster do Slurm
- Teste e otimize com NCCL/gIB
- Reportar um host com falha