slurm SBATCH - Несколько узлов, одно и то же SLURMD_NODENAME

Новый синтаксис для именованной группы захвата - (?<name>X) для сопоставимой группы X, названной «имя». Следующий код захватывает регулярное выражение (\ w +) (любая группа буквенно-цифровых символов). Чтобы назвать эту группу захвата, вы должны добавить выражение? в круглых скобках перед захватом регулярного выражения.

Pattern compile = Pattern.compile("(?<teste>\\w+)");
Matcher matcher = compile.matcher("The first word is a match");
matcher.find();
String myNamedGroup= matcher.group("teste");
System.out.printf("This is yout named group: %s", myNamedGroup);

Этот код возвращает следующие выходные данные:

Это ваша именованная группа:

0
задан Dooglz 13 July 2018 в 15:58
поделиться

1 ответ

SLURMD_NODENAME: имя узла, на котором выполняется текущий шаг задания

(например, https://www.nccs.nasa.gov/user_info/ slurm / environment_variables / sbatch )

Итак, происходит то, что ваш файл cn.job выполняется в контексте выделения, но до любого шага задания (srun). Там он выполняется как обычный файл bash, поэтому переменные замещения заменяют значение $SLURMD_NODENAME значением, которое видно на машине, на которой работает ваш пакетный скрипт. Затем результат выполняется через srun, что приводит к чему-то вроде:

srun echo $SLURMD_NODENAME -> srun echo node3

Другие команды предотвращают расширение переменной и запускают расширение (или имя хоста команда) на вычислительных узлах на шаге задания, поэтому они работают как ожидалось.

Рассмотрим srun как суперзарядный ssh. Вы заметите, что srun hostname && srun $HOSTNAME будет вести себя точно так же, как ssh node hostname && ssh node $HOSTNAME (очевидно, по модулю параллельного выполнения).

Небольшая разница для SLURM: файлы SBatch выполняются на вычислительном узле. Таким образом, вы не получите тот же результат, что и при запуске srun на узле входа.

Для файла с одним выходом: не уверен, но обычно все выходные данные из задания собираются и помещаются в единственная раковина. Это стандартный вывод для интерактивных заданий или один выходной файл для sbatch. Откуда у вас были заполнители? Я знаю только %j %A %a для идентификаторов работы и массива. Там очевидно, что создается только один выходной файл.

0
ответ дан Flamefire 17 August 2018 в 12:27
поделиться
  • 1
    Я использовал каждый заполнитель, который мог найти для целей тестирования, здесь: раздел шаблона файла внизу slurm.schedmd.com/sbatch.html Расширение переменной имеет смысл, я просто не думал slurm будет работать именно так. Кажется, я по-другому разбираюсь с массивами Sbatch, но это еще одна проблема, и я действительно хочу, чтобы имя файла работало. Опять же, это работает с работами. – Dooglz 17 July 2018 в 11:33
  • 2
    Интересно. В документе четко указано This will create a separate IO file per xxx.. Может быть, SLURM не может справиться с комбинаторными комбинациями этого? Потому что ему нужно будет создать отдельный файл на каждый массив-jobID, узел и задачу (3 измерения). Вы пытались уменьшить это, например? %N ?. И о «как это работает»: Рассмотрим srun сверхмощную ssh. Он работает практически одинаково (я добавлю это к ответу) – Flamefire 17 July 2018 в 11:54
Другие вопросы по тегам:

Похожие вопросы: