Я установил Slurm в двухузловом кластере.Оба узла являются вычислительными узлами, один также является контроллером.Я могу успешно запустить srun
с несколькими заданиями одновременно.Я выполняю задания на графическом процессоре и подтвердил, что могу получить несколько заданий на нескольких графических процессорах с srun, вплоть до количества графических процессоров в системах.
Однако, когда я пытаюсь запустить sbatch с одним и тем же тестовым файлом, онбудет запускаться только одно пакетное задание, и оно будет выполняться только на вычислительном узле, который также является контроллером.Другие сбои, с ExitCode 1: 0 в сводке sacct
.Если я попытаюсь заставить его работать на вычислительном узле, который не является контроллером, он не запустится и покажет код выхода 1: 0.Однако простое использование srun будет работать на любом вычислительном узле.
Я убедился, что файлы /etc/slurm/slurm.conf соответствуют спецификациям машин.Вот файл .job sbatch, который я использую:
#!/bin/bash
#SBATCH --job-name=tf_test1
#SBATCH --output=/storage/test.out
#SBATCH --error=/storage/test.err
#SBATCH --ntasks=2
#SBATCH --cpus-per-task=1
#SBATCH --mem-per-cpu=2000
##SBATCH --mem=10gb
#SBATCH --gres=gpu:1
~/anaconda3/bin/python /storage/tf_test.py
Может быть, есть некоторые ограничения в sbatch, о которых я не знаю?