Рейтинг:1

Slurm srun не может выделить ресурсы для графических процессоров — неверная общая спецификация ресурсов

флаг ca

Я могу запустить задание на сервере GPU традиционным способом (используя CPU и MEM в качестве расходных материалов):

~ srun -c 1 --mem 1M -w serverGpu1 имя хоста
серверGpu1

но попытка использовать GPU выдаст ошибку:

~ srun -c 1 --mem 1M --gres=gpu:1 имя хоста
srun: ошибка: невозможно выделить ресурсы: недопустимая спецификация универсального ресурса (gres)

я проверил это вопрос но это не помогает в моем случае.

Slurm.conf

На всех узлах

SlurmctldHost=vinz
SlurmctldHost=блестящий
GresTypes=ГП
MpiDefault=нет
ProctrackType=proctrack/cgroup
Возврат ТоСервис=1
SlurmctldPidFile=/media/Slurm/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/var/spool/slurmd
SlurmUser=слёрм
StateSaveLocation=/media/Slurm
SwitchType=переключатель/нет
TaskPlugin=задача/группа

Инактивлимит=0
KillWait=30
Минимальный возраст = 300
SlurmctldTimeout=120
SlurmdTimeout=300
Время ожидания=0
DefMemPerCPU=1
SchedulerType=sched/backfill
SelectType=выбрать/cons_tres
SelectTypeParameters=CR_CPU_Memory
AccountingStorageType=accounting_storage/none
AccountingStoreJobComment=ДА
имя_кластера=кластер
JobCompLoc=/media/Slurm/job_completion.txt
JobCompType=jobcomp/filetxt
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/cgroup
SlurmctldDebug=информация
SlurmctldLogFile=/media/Slurm/slurmctld.log
SlurmdDebug=информация
SlurmdLogFile=/var/log/slurm-llnl/slurmd.log
MaxArraySize=10001
NodeName=docker1 CPUs=144 Boards=1 RealMemory=300000 Sockets=4 CoresPerSocket=18 ThreadsPerCore=2 Weight=100 State=UNKNOWN
NodeName=serverGpu1 CPUs=96 RealMemory=550000 Boards=1 SocketsPerBoard=2 CoresPerSocket=24 Gres=gpu:nvidia_tesla_t4:4 ThreadsPerCore=2 Weight=500 State=UNKNOWN

PartitionName=Cluster Nodes=docker1,serverGpu1 По умолчанию=YES MaxTime=INFINITE State=UP

cgroup.conf

На всех узлах

CgroupAutomount=да 
CgroupReleaseAgentDir="/etc/slurm-llnl/cgroup" 

ConstrainCores=да 
ConstrainDevices=да
ConstrainRAMSpace=да

gres.conf

Только на GPU-серверах

Автоопределение=nvml

Что касается журнала сервера GPU:

[2021-12-06T12:22:52.800] gpu/nvml: _get_system_gpu_list_nvml: обнаружено 4 системных устройства GPU
[2021-12-06T12:22:52.801] Параметр частоты ЦП не настроен для этого узла
[2021-12-06T12:22:52.803] Начата версия slurmd 20.11.2
[2021-12-06T12:22:52.803] убийство старого slurmd[42176]
[2021-12-06T12:22:52.805] slurmd запущен в понедельник, 06 декабря 2021 г., 12:22:52 +0100
[2021-12-06T12:22:52.805] Выключение Slurmd завершено
[2021-12-06T12:22:52.805] ЦП=96 Платы=1 Сокеты=2 Ядра=24 Потоки=2 Память=772654 TmpDisk=1798171 Время работы=8097222 CPUSpecList=(null) FeaturesAvail=(null) FeaturesActive=(null)

Я хотел бы получить некоторые рекомендации о том, как решить эту проблему, пожалуйста.

Правки: По просьбе @Gerald Schneider

~ инфо -N -o "%N %G"
УЗЕЛ ГРЭС
докер1 (нулевой)
серверGpu1 (нулевой)
флаг in
не могли бы вы добавить вывод `sinfo -N -o "%N %G"`?
user324810 avatar
флаг ca
@GeraldSchneider сделал!
флаг in
Попробуйте добавить графические процессоры в gres.conf напрямую на узле, вместо того, чтобы устанавливать для него значение AutoDetect. Я получаю правильные определения графического процессора в столбце %G с информацией о моих узлах.
user324810 avatar
флаг ca
Я удалил `AutoDetect=nvml` и установил в `gres.conf` следующую строку: `Name=gpu File=/dev/nvidia[0-3]`, а в slurm.conf я изменил имя узла GPU, изменив на `Gres=gpu`. В журнале я получил `[2021-12-06T16:05:47.604] ПРЕДУПРЕЖДЕНИЕ: строка в gres.conf для GRES gpu имеет на 3 больше настроенных, чем ожидалось, в slurm.conf. Игнорирование дополнительных ГРЭС.`
флаг in
Мой конфиг очень похож на ваш. Единственная разница, которую я вижу, заключается в том, что у меня включен AccountingStorage и установлен `AccountingStorageTRES=gres/gpu,gres/gpu:tesla`, но я не думаю, что это необходимо. У меня также есть `Type=`, установленный в gres.conf, вы можете попробовать установить его в `nvidia_tesla_t4`, чтобы он соответствовал вашему определению в slurm.conf.
флаг in
Идентичны ли файлы slurm.conf на ваших узлах? Попробуйте установить `DebugFlags=gres` и посмотрите, появится ли что-то полезное в журналах.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.