View a markdown version of this page

Configuración de los ajustes GRES personalizados en AWS PC - AWS PIEZAS

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configuración de los ajustes GRES personalizados en AWS PC

Slurm se utiliza gres.conf para administrar los recursos genéricos (GRES), como los dispositivos GPU, de Multi-Process servicio (MPS) y de Multi-Instance GPU (MIG), en los nodos de procesamiento. AWS El PCS te permite realizar la personalización gres.conf mediante la gresCustomSettings propiedad de slurmConfiguration durante la creación o actualización de un grupo de nodos de procesamiento.

A diferencia de otros ajustes personalizados, que son una lista plana de pares de parámetros y valores, gresCustomSettings es una lista de registros. Cada registro es un conjunto de gres.conf atributos que describe un dispositivo o recurso del GRES. Por ejemplo, el registro Name=gpu Type=a100 File=/dev/nvidia[0-7] declara ocho GPU A100.

En Slurm, un gres.conf registro se aplica a todos los nodos del clúster, a menos que especifique un prefijo. NodeName= AWS PCS siempre agrega el NodeName= prefijo para el grupo de nodos de procesamiento, por lo que no lo especificas, y cada registro que proporcionas se aplica solo a ese grupo de nodos de procesamiento. AWS PCS no admite registros en todo el clústergres.conf.

Configuración de los ajustes de gres.conf

gres.confLos ajustes personalizados pueden configurarse mediante la AWS consola, la CLI o los SDK durante la creación de un grupo de nodos de procesamiento o modificarse más adelante mediante operaciones de actualización.

Consola de administración de AWS

Dirígete a la configuración adicional del programador en la página de creación o edición de un recurso de grupo de nodos de computación. Ingresa un gres.conf registro por línea, en gres.conf forma nativa (por ejemplo,Name=gpu Type=a100 File=/dev/nvidia[0-7]).

AWS CLI

Para la administración programática de la gres.conf configuración, usa el gresCustomSettings campo en las operaciones de creación o actualización de grupos de nodos de procesamiento. Cada elemento de la lista es un gres.conf registro.

ejemplo— Declarar los dispositivos de GPU en un grupo de nodos de procesamiento
aws pcs update-compute-node-group \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-cng-1 \ --slurm-configuration \ 'gresCustomSettings=[{Name=gpu,Type=a100,File=/dev/nvidia[0-7]}]'

La configuración de gres.conf es compatible con los grupos de nodos de procesamiento

Cada registro admite los siguientes gres.conf atributos a nivel de grupo de nodos de procesamiento:

Para conocer el significado y los valores aceptados de cada atributo, consulta la documentación gres.conf de Slurm. AWS PCS valida tus registros según las mismas reglas que aplica Slurm. En concreto, cada registro debe declarar un AutoDetect valor activo Name o uno activo, y un registro de GPU (Name=gpu) debe especificar File o, MultipleFiles a menos que un AutoDetect valor activo descubra los dispositivos.

Un AutoDetect valor activo es cualquier valor que active la detección, como nvml ofull. AutoDetect=offdesactiva la detección, por lo que no es un valor activo y no puede figurar de forma independiente en un registro.

Cómo AWS PCS aplica sus registros gres.conf

La configuración de GRES aparece en dos lugares de la configuración de Slurm, y AWS PCS escribe ambas:

  • Los gres.conf registros que proporciona gresCustomSettings describen los dispositivos que existen en el nodo.

  • La Gres configuración indica slurm.conf lo que el programador puede asignar, en el formularioname[:type]:count. Lo proporcionas como una configuración de Slurm personalizada para el grupo de nodos de procesamiento, en. slurmCustomSettings Para obtener más información, consulte Configuración personalizada de Slurm para AWS Grupos de nodos de computación PCS.

AWS PCS procesa tus registros gres.conf y los concilia con la configuración de GRES que administra:

  • Cualquier registro de GPU que declare reemplaza el registro de GPU predeterminado que AWS PCS genera para el grupo de nodos de procesamiento. Un registro de GPU es un registro que especifica Name=gpu o un AutoDetect atributo.

  • Los registros de otros recursos, como mpsshard, o un nombre de recurso propio, se agregan junto con los valores predeterminados de AWS PCS.

  • AWS PCS obtiene la GresTypes configuración y gres/* las entradas de la AccountingStorageTRES configuración a slurm.conf partir de la Gres configuración.

En la versión 26.05 y posteriores de Slurm, el AWS PCS se establece de forma AutoDetect=full predeterminada en los grupos de nodos de procesamiento de la GPU cuando se conoce la distribución de los sockets del nodo, ya sea porque se ha configurado Sockets el grupo de nodos de procesamiento o porque el AWS PCS ha detectado la topología de la CPU automáticamente. slurmCustomSettings Cuando la disposición de los sockets no está disponible, AWS PCS emite su registro de GPU sin ella. AutoDetect

Restricciones entre gres.conf y la configuración de Gres

Slurm necesita ambos lados de la configuración del GRES para programar un recurso, y un recurso que solo aparece en uno de ellos no funciona. Si una entrada en la Gres configuración no tiene ningún gres.conf registro, el nodo reporta menos recursos de los que están configurados, y el nodo agota el volumen. slurm.conf Un registro sin ninguna Gres entrada deja el dispositivo presente en el nodo, pero no es programable.

AWS PCS valida ambos valores comparándolos entre sí al crear o actualizar un grupo de nodos de procesamiento y rechaza la solicitud en los siguientes casos:

  • Una slurm.conf Gres entrada nombra un recurso que ningún gres.conf registro declara. Esto incluyegpu: una gpu entrada requiere un registro de GPUgresCustomSettings, incluso cuando el recuento es0.

  • Una slurm.conf Gres entrada declara un recuento de un recurso más alto que el declarado en gres.conf los registros. Se permite un recuento inferior, hasta0: los gres.conf registros describen los dispositivos que están presentes en el nodo y Gres declaran cuántos de ellos puede asignar el programador.

  • Una slurm.conf Gres entrada especifica un tipo de GPU que no gres.conf declara ningún registro de GPU.

Las dos últimas comprobaciones dependen de lo que declaren tus registros. AWS El PCS no puede contar los dispositivos que Slurm descubre al arrancar el nodo, por lo que un registro que solo esté AutoDetect habilitado acepta cualquier gpu recuento y tipo de Gres entrada. Así es como los perfiles MIG superan la validación. AWS PCS también omite la verificación del recuento de los GRES compartidos (mpsyshard) y omite la verificación de tipo cuando un registro de la GPU declara que no. Type

AWS PCS acepta un registro que no tenga ninguna entrada coincidente. Gres El recurso existe en el nodo, pero Jobs no puede solicitarlo. Agregue la Gres entrada para que sea programable.

importante

AWS El PCS valida la sintaxis de los registros y su coherencia con la configuración. Gres No los valida en comparación con el hardware. Un registro cuyo File Links diseño no coincide con los dispositivos del nodo de arranque hace que el nodo se agote. Cores Lo mismo se aplica a MIG: los perfiles en los que declaras Gres deben coincidir con los perfiles configurados en el nodo. Para obtener más información sobre el diagnóstico de un nodo agotado, consulte. Solucione los problemas de registros de nodos no válidos (INVALID_REG) en AWS PCS