En este documento, se describen los pasos para configurar e implementar clústeres de Slurm que usan tipos de máquinas A4X, A4, A3 Ultra, A3 Mega o A3 High. Para obtener más información sobre estos tipos de máquinas optimizados para aceleradores, consulta Tipos de máquinas con GPU.
Para conocer otros métodos para crear un clúster de Slurm optimizado para IA en Google Cloud, consulta los siguientes vínculos:
Para usar un entorno de Slurm administrado que simplifique la configuración y la administración del clúster, consulta Cluster Director.
Para implementar dos instancias de máquina virtual (VM) A4 en Slurm, consulta la guía de inicio rápido para crear un clúster de Slurm optimizado para IA.
Limitaciones
Según la serie de máquinas que usen las VMs de tu clúster de Slurm, se aplican las siguientes limitaciones:
A4X
- No recibirás descuentos por uso continuo ni descuentos por compromiso de uso flexible para las instancias que usen estos tipos de máquinas. Además, los tipos de máquinas A4X Max no admiten descuentos por compromiso de uso basados en recursos.
- Solo puedes crear instancias en ciertas regiones y zonas.
- No puedes usar Persistent Disk (regional o zonal). Solo puedes usar Google Cloud Hyperdisk.
- Estos tipos de máquinas solo están disponibles en la plataforma NVIDIA Grace.
- No se admiten cambios de tipo de máquina para A4X Max ni A4X. Para cambiar a uno de estos tipos de máquinas o desde uno de ellos, debes crear una instancia nueva de A4X Max o A4X.
- No puedes ejecutar sistemas operativos Windows en estos tipos de máquinas.
- En el caso de las instancias A4X, cuando usas
ethtool -Spara supervisar la conexión en red de la GPU, no se actualizan los contadores de puertos físicos que terminan en_phy. Este es el comportamiento esperado para las instancias que usan la arquitectura de función virtual (VF) de MRDMA. Para obtener más información, consulta Funciones de MRDMA y herramientas de supervisión de redes. - Las instancias de A4X Max y A4X no admiten lo siguiente:
- No puedes conectar discos Hyperdisk ML creados antes del 4 de febrero de 2026 a tipos de máquinas A4X.
A4
- No recibirás descuentos por uso continuo ni descuentos por compromiso de uso flexible para las instancias que usan un tipo de máquina A4.
- Solo puedes usar un tipo de máquina A4 en ciertas regiones y zonas.
- No puedes usar Persistent Disk (regional o zonal). Solo puedes usar Google Cloud Hyperdisk.
- El tipo de máquina A4 solo está disponible en la plataforma de CPU Emerald Rapids.
- No puedes cambiar el tipo de máquina de una instancia a un tipo de máquina A4 ni desde este. Debes crear una instancia nueva con este tipo de máquina.
- Los tipos de máquinas A4 no admiten usuarios únicos.
- No puedes ejecutar sistemas operativos Windows en un tipo de máquina A4.
- En el caso de las instancias A4, cuando usas
ethtool -Spara supervisar la conexión en red de la GPU, no se actualizan los contadores de puertos físicos que terminan en_phy. Este es el comportamiento esperado para las instancias que usan la arquitectura de función virtual (VF) de MRDMA. Para obtener más información, consulta Funciones de MRDMA y herramientas de supervisión de redes. - No puedes conectar discos Hyperdisk ML creados antes del 4 de febrero de 2026 a tipos de máquinas A4.
A3 Ultra
- No recibirás descuentos por uso continuo ni descuentos por compromiso de uso flexible para las instancias que usan un tipo de máquina A3 ultra.
- Solo puedes usar un tipo de máquina A3 ultra en ciertas regiones y zonas.
- No puedes usar Persistent Disk (regional o zonal). Solo puedes usar Google Cloud Hyperdisk.
- El tipo de máquina A3 Ultra solo está disponible en la plataforma de CPU Emerald Rapids.
- No se admiten cambios de tipo de máquina para el tipo de máquina A3 Ultra. Para cambiar a este tipo de máquina o dejar de usarlo, debes crear una instancia nueva.
- No puedes ejecutar sistemas operativos Windows en un tipo de máquina A3 Ultra.
- Los tipos de máquinas A3 Ultra no admiten usuarios únicos.
- En el caso de las instancias de A3 Ultra, cuando usas
ethtool -Spara supervisar las redes de GPU, no se actualizan los contadores de puertos físicos que terminan en_phy. Este es el comportamiento esperado para las instancias que usan la arquitectura de función virtual (VF) de MRDMA. Para obtener más información, consulta Funciones de MRDMA y herramientas de supervisión de redes.
A3 Mega
- No recibirás descuentos por uso continuo ni descuentos por compromiso de uso flexible para las instancias que usan un tipo de máquina A3 Mega.
- Solo puedes usar un tipo de máquina A3 Mega en ciertas regiones y zonas.
- No puedes usar un Persistent Disk regional en una instancia que usa un tipo de máquina A3 Mega.
- El tipo de máquina A3 Mega solo está disponible en la plataforma de CPU Sapphire Rapids.
- No se admiten los cambios de tipo de máquina para el tipo de máquina Mega A3. Para cambiar a este tipo de máquina o dejar de usarlo, debes crear una instancia nueva.
- No puedes ejecutar sistemas operativos Windows en un tipo de máquina A3 Mega.
A3 High
- No recibirás descuentos por uso continuo ni descuentos por compromiso de uso flexible para las instancias que usan un tipo de máquina A3 High.
- Solo puedes usar un tipo de máquina A3 High en ciertas regiones y zonas.
- No puedes usar Persistent Disks regionales en una instancia que usa un tipo de máquina A3 High.
- El tipo de máquina A3 High solo está disponible en la plataforma de CPU Sapphire Rapids.
- No se admiten cambios de tipo de máquina para el tipo de máquina A3 High. Para cambiar a este tipo de máquina o dejar de usarlo, debes crear una instancia nueva.
- No puedes ejecutar sistemas operativos Windows en un tipo de máquina A3 High.
- En el caso de los tipos de máquinas
a3-highgpu-1g,a3-highgpu-2gya3-highgpu-4g, debes crear instancias con VMs Spot o VMs de inicio flexible. Para obtener instrucciones detalladas sobre estas opciones, consulta lo siguiente:- Para crear VMs Spot, establece el modelo de aprovisionamiento en
SPOTcuando crees una VM optimizada para aceleradores. - Para crear VMs de inicio flexible, puedes usar uno de los siguientes métodos:
- Crea una VM independiente y establece el modelo de aprovisionamiento en
FLEX_STARTcuando crees una VM optimizada para aceleradores. - Crea una solicitud de cambio de tamaño en un grupo de instancias administrado (MIG). Para obtener instrucciones, consulta Crea un MIG con VMs de GPU.
- Crea una VM independiente y establece el modelo de aprovisionamiento en
- Para crear VMs Spot, establece el modelo de aprovisionamiento en
- Solo puedes usar una VM confidencial con un tipo de máquina
a3-highgpu-1gen regiones y zonas limitadas, y se aplican todas las limitaciones para las VMs confidenciales que se ejecutan en el tipo de máquina A3 High.
Antes de comenzar
Antes de crear un clúster de Slurm, si aún no lo hiciste, completa los siguientes pasos:
- Elige una opción de consumo: La opción de consumo que elijas determinará cómo obtendrás y usarás los recursos de GPU.
Para obtener más información, consulta Elige una opción de consumo.
- Obtención de capacidad: El proceso para obtener capacidad difiere para cada opción de consumo.
Para obtener información sobre el proceso para obtener capacidad para la opción de consumo que elegiste, consulta la Descripción general de la capacidad.
- Asegúrate de tener suficiente cuota de capacidad de Filestore: Debes tener suficiente cuota de Filestore en tu región de destino antes de la implementación. La capacidad mínima requerida depende de los tipos de máquinas de tu clúster:
- A4, A4X, A3 Ultra y A3 Mega: Requieren un mínimo de 10 TiB (10,240 GiB) de capacidad de HIGH_SCALE_SSD (zonal).
- A3 High: Requiere un mínimo de 2.5 TiB (2,560 GiB) de capacidad de BASIC_SSD (estándar).
Para verificar la cuota o solicitar un aumento, consulta lo siguiente:
- Para verificar la cuota, consulta Cómo ver la cuota específica de una API.
- Si no tienes suficiente cuota, solicita un aumento de la cuota.
- Instala Cluster Toolkit: Para aprovisionar clústeres de Slurm, debes usar la versión
v1.62.0o posterior de Cluster Toolkit.Para instalar Cluster Toolkit, consulta Configura 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.
Roles obligatorios
Para asegurarte de que la cuenta de servicio predeterminada de Compute Engine tenga los permisos necesarios para implementar un clúster de Slurm, pídele a tu administrador que le otorgue los siguientes roles de IAM a la cuenta de servicio predeterminada de Compute Engine:
-
Visualizador de objetos de Storage (
roles/storage.objectViewer) en tu proyecto -
Administrador de instancias de Compute (v1) (
roles/compute.instanceAdmin.v1) en tu proyecto -
Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) en la propia cuenta de servicio
Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.
Es posible que tu administrador también pueda otorgarle los permisos necesarios a la cuenta de servicio predeterminada de Compute Engine a través de roles personalizados o de otros roles predefinidos.
Configura un bucket de almacenamiento
Los esquemas de clústeres usan módulos de Terraform para aprovisionar la infraestructura de Cloud. Una práctica recomendada cuando se trabaja con Terraform es almacenar el estado de forma remota en un archivo habilitado para la versión. En Google Cloud, puedes crear un bucket de Cloud Storage que tenga habilitado el control de versiones.
Para crear este bucket y habilitar el control de versiones desde la CLI, ejecuta los siguientes 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
Reemplaza lo siguiente:
BUCKET_NAME: Es un nombre para tu bucket de Cloud Storage que cumple con los requisitos de nombres de buckets.PROJECT_ID: el ID de tu proyectoBUCKET_REGION: Cualquier ubicación disponible.
Abre el directorio de Cluster Toolkit
Para usar Slurm con Google Cloud, debes instalar Cluster Toolkit. Después de instalar el kit de herramientas, ejecuta el siguiente comando para asegurarte de que estás en el directorio del kit de herramientas de clústeres:
cd cluster-toolkit
Esta implementación de clúster requiere Cluster Toolkit v1.62.0 o una versión posterior. Para verificar tu versión, puedes ejecutar el siguiente comando:
./gcluster --version
Crea un archivo de implementación
Crea un archivo de implementación que puedas usar para especificar el bucket de Cloud Storage, establecer nombres para tu red y subred, y configurar variables de implementación, como el ID del proyecto, la región y la zona.
Para crear un archivo de implementación, sigue los pasos correspondientes al tipo de máquina y la opción de consumo que necesites.
A4X
Para crear tu archivo de implementación, usa un editor de texto para crear un archivo YAML llamado a4xhigh-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región que tiene las máquinas reservadas.ZONE: Es la zona en la que deseas aprovisionar el clúster. Si usas una opción de consumo basada en reservas, tu equipo de cuentas te proporcionó la información de la región y la zona cuando se entregó la capacidad.NUMBER_OF_VMS: Es la cantidad de VMs de A4X en tu clúster. Puedes especificar cualquier cantidad de VMs. Sin embargo, las VMs A4X están interconectadas físicamente por un sistema NVLink de varios nodos en grupos de 18 VMs (72 GPUs) para formar un dominio NVLink.Para obtener un rendimiento óptimo de la red, te recomendamos que especifiques un valor que sea múltiplo de 18 VMs (por ejemplo, 18, 36 o 54). Cuando creas un clúster de A4X, el blueprint de A4X crea y aplica automáticamente una política de posición compacta con una topología de GPU de
1x72para cada grupo de 18 VMs. Para obtener más información sobre la topología de A4X, consulta Conceptos básicos de A4X.RESERVATION_NAME: Es el nombre de tu reserva.
A4
Los parámetros que debes agregar a tu archivo de implementación dependen de la opción de consumo que uses para tu implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.
Con reserva
Para crear tu archivo de implementación, usa un editor de texto para crear un archivo YAML llamado a4high-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región que tiene las máquinas reservadas.ZONE: Es la zona en la que deseas aprovisionar el clúster. Si usas una opción de consumo basada en reservas, tu equipo de cuentas te proporcionó la información de la región y la zona cuando se entregó la capacidad.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.RESERVATION_NAME: Es el nombre de tu reserva.
Inicio flexible
Para crear tu archivo de implementación, usa un editor de texto para crear un archivo YAML llamado a4high-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que deseas aprovisionar tu clúster.ZONE: Es la zona en la que deseas aprovisionar tu clúster.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.
Esta implementación aprovisiona nodos de procesamiento estáticos, lo que significa que el clúster tiene una cantidad fija de nodos en todo momento. Si, en cambio, quieres habilitar el ajuste de escala automático de tu clúster, usa el archivo examples/machine-learning/a4-highgpu-8g/a4high-slurm-blueprint.yaml y edita los valores de node_count_static y node_count_dynamic_max para que coincidan con los siguientes:
node_count_static: 0
node_count_dynamic_max: $(vars.a4h_cluster_size)
Spot
Para crear tu archivo de implementación, usa un editor de texto para crear un archivo YAML llamado a4high-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que deseas aprovisionar tu clúster.ZONE: Es la zona en la que deseas aprovisionar tu clúster.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.
A3 Ultra
Los parámetros que debes agregar a tu archivo de implementación dependen de la opción de consumo que uses para tu implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.
Con reserva
Para crear tu archivo de implementación, usa un editor de texto para crear un archivo YAML llamado a3ultra-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región que tiene las máquinas reservadas.ZONE: Es la zona en la que deseas aprovisionar el clúster. Si usas una opción de consumo basada en reservas, tu equipo de cuentas te proporcionó la información de la región y la zona cuando se entregó la capacidad.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.RESERVATION_NAME: Es el nombre de tu reserva.
Inicio flexible
Para crear tu archivo de implementación, usa un editor de texto para crear un archivo YAML llamado a3ultra-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que deseas aprovisionar tu clúster.ZONE: Es la zona en la que deseas aprovisionar tu clúster.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.
Esta implementación aprovisiona nodos de procesamiento estáticos, lo que significa que el clúster tiene una cantidad fija de nodos en todo momento. Si, en cambio, quieres habilitar el ajuste de escala automático de tu clúster, usa el archivo examples/machine-learning/a3-ultragpu-8g/a3ultra-slurm-blueprint.yaml y edita los valores de node_count_static y node_count_dynamic_max para que coincidan con los siguientes:
node_count_static: 0
node_count_dynamic_max: $(vars.a3u_cluster_size)
Spot
Para crear tu archivo de implementación, usa un editor de texto para crear un archivo YAML llamado a3ultra-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que deseas aprovisionar tu clúster.ZONE: Es la zona en la que deseas aprovisionar tu clúster.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.
A3 Mega
Los parámetros que debes agregar a tu archivo de implementación dependen de la opción de consumo que uses para tu implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.
Con reserva
Para crear tu archivo de implementación, crea un archivo YAML llamado a3mega-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región que tiene las máquinas reservadas.ZONE: Es la zona en la que deseas aprovisionar el clúster. Si usas una opción de consumo basada en reservas, tu equipo de cuentas te proporcionó la información de la región y la zona cuando se entregó la capacidad.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.RESERVATION_NAME: Es el nombre de tu reserva.
Inicio flexible
Para crear tu archivo de implementación, crea un archivo YAML llamado a3mega-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que deseas aprovisionar tu clúster.ZONE: Es la zona en la que deseas aprovisionar tu clúster.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.
Esta implementación aprovisiona nodos de procesamiento estáticos, lo que significa que el clúster tiene una cantidad fija de nodos en todo momento. Si, en cambio, quieres habilitar el ajuste de escala automático de tu clúster, usa el archivo examples/machine-learning/a3-megagpu-8g/a3mega-slurm-blueprint.yaml y edita los valores de node_count_static y node_count_dynamic_max para que coincidan con los siguientes:
node_count_static: 0
node_count_dynamic_max: $(vars.a3m_cluster_size)
Spot
Para crear tu archivo de implementación, crea un archivo YAML llamado a3mega-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que deseas aprovisionar tu clúster.ZONE: Es la zona en la que deseas aprovisionar tu clúster.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.
A3 High
Los parámetros que debes agregar a tu archivo de implementación dependen de la opción de consumo que uses para tu implementación. Selecciona la pestaña que corresponda al modelo de aprovisionamiento de tu opción de consumo.
Con reserva
Para crear tu archivo de implementación, crea un archivo YAML llamado a3high-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región que tiene las máquinas reservadas.ZONE: Es la zona en la que deseas aprovisionar el clúster. Si usas una opción de consumo basada en reservas, tu equipo de cuentas te proporcionó la información de la región y la zona cuando se entregó la capacidad.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.RESERVATION_NAME: Es el nombre de tu reserva.
Inicio flexible
Para crear tu archivo de implementación, crea un archivo YAML llamado a3high-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que deseas aprovisionar tu clúster.ZONE: Es la zona en la que deseas aprovisionar tu clúster.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.
Esta implementación aprovisiona nodos de procesamiento estáticos, lo que significa que el clúster tiene una cantidad fija de nodos en todo momento. Si, en cambio, quieres habilitar el ajuste de escala automático de tu clúster, usa el archivo examples/machine-learning/a3-highgpu-8g/a3high-slurm-blueprint.yaml y edita los valores de node_count_static y node_count_dynamic_max para que coincidan con los siguientes:
node_count_static: 0
node_count_dynamic_max: $(vars.a3h_cluster_size)
Spot
Para crear tu archivo de implementación, crea un archivo YAML llamado a3high-slurm-deployment.yaml y agrega el siguiente contenido.
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
Reemplaza lo siguiente:
BUCKET_NAME: Es el nombre del bucket de Cloud Storage que creaste en la sección anterior.DEPLOYMENT_NAME: Un nombre para tu implementación. Si creas varios clústeres, asegúrate de seleccionar un nombre único para cada uno.PROJECT_ID: el ID de tu proyectoREGION: Es la región en la que deseas aprovisionar tu clúster.ZONE: Es la zona en la que deseas aprovisionar tu clúster.NUMBER_OF_VMS: Es la cantidad de VMs que deseas para el clúster.
Aprovisiona un clúster de Slurm
Cluster Toolkit aprovisiona el clúster según el archivo de implementación que creaste en el paso anterior y el plano del clúster predeterminado. Para obtener más información sobre el software que instala el blueprint, incluidos los controladores de NVIDIA y CUDA, obtén más información sobre las imágenes personalizadas de Slurm.
Para aprovisionar el clúster, ejecuta el comando para tu tipo de máquina desde el directorio de Cluster Toolkit. Este paso tarda entre 20 y 30 minutos aproximadamente.
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
Conéctate al clúster de Slurm
Para acceder al clúster, debes acceder al nodo de acceso de Slurm. Para acceder, puedes usar la consola de Google Cloud o Google Cloud CLI.
Console
Vaya a la página Compute Engine > instancias de VM.
Ubica el nodo de acceso. Debe tener un nombre con el patrón
DEPLOYMENT_NAME+login-001.En la columna Conectar del nodo de acceso, haz clic en SSH.
gcloud
Para conectarte al nodo de acceso, completa los siguientes pasos:
Identifica el nodo de acceso con el comando
gcloud compute instances list.gcloud compute instances list \ --zones=
ZONE\ --filter="name ~ login" --format "value(name)"Si el resultado muestra varios clústeres de Slurm, puedes identificar tu nodo de acceso con el
DEPLOYMENT_NAMEque especificaste.Usa el comando
gcloud compute sshpara conectarte al nodo de acceso.gcloud compute ssh LOGIN_NODE \ --zone=
ZONE--tunnel-through-iapReemplaza lo siguiente:
ZONE: Es la zona en la que se encuentran las VMs de tu clúster.LOGIN_NODE: Es el nombre del nodo de acceso que identificaste en el paso anterior.
Cómo probar el rendimiento de la red en el clúster de Slurm
Te recomendamos que valides la funcionalidad de los clústeres aprovisionados. Para ello, usa las pruebas de NCCL, que son pruebas de la biblioteca de comunicación colectiva de NVIDIA (NCCL) optimizadas para el entorno de Google.
Vuelve a implementar el clúster de Slurm
Si necesitas aumentar la cantidad de nodos de procesamiento o agregar particiones nuevas a tu clúster, es posible que debas actualizar la configuración de tu clúster de Slurm volviendo a implementarlo. La reimplementación se puede acelerar si se usa una imagen existente de una implementación anterior. Para evitar la creación de imágenes nuevas durante una reimplementación, especifica la marca --only.
Para volver a implementar el clúster con una imagen existente, haz lo siguiente:
Ejecuta el comando para el tipo de máquina que necesitas:
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
Este comando solo se usa para volver a implementar clústeres en los que ya existe una imagen. Solo vuelve a implementar el clúster y su infraestructura.
Destruye el clúster de Slurm
De forma predeterminada, los esquemas de A4X, A4 y A3 Ultra habilitan la protección contra eliminaciones en la instancia de Filestore. Para borrar la instancia de Filestore cuando destruyas el clúster de Slurm, inhabilita la protección contra eliminaciones antes de ejecutar el comando de destrucción. Para obtener instrucciones, consulta Configura o quita la protección contra la eliminación en una instancia existente.
Desconéctate del clúster si aún no lo hiciste.
Antes de ejecutar el comando destroy, navega a la raíz del directorio de Cluster Toolkit. De forma predeterminada, DEPLOYMENT_FOLDER se encuentra en la raíz del directorio de Cluster Toolkit.
Para destruir el clúster, ejecuta lo siguiente:
./gcluster destroy DEPLOYMENT_FOLDER --auto-approve
Reemplaza lo siguiente:
DEPLOYMENT_FOLDER: Es el nombre de la carpeta de implementación. Por lo general, es igual a DEPLOYMENT_NAME.
Cuando se complete la destrucción, deberías ver un mensaje similar al siguiente:
Destroy complete! Resources: xx destroyed.
Para obtener información sobre cómo destruir la infraestructura de forma limpia y obtener instrucciones avanzadas para la implementación manual, consulta la carpeta de implementación ubicada en la raíz del directorio de Cluster Toolkit: DEPLOYMENT_FOLDER/instructions.txt
¿Qué sigue?
- Verifica el consumo de la reserva
- Cómo ver la topología de una instancia de procesamiento
- Obtén información para administrar eventos de host:
- Supervisa las VMs en tu clúster de Slurm
- Prueba y optimiza con NCCL/gIB
- Cómo informar un host defectuoso