Мониторинг использования ЦП имитации OpenFOAM, выполняемой в задании на слэм

Я запускаю симуляцию OpenFOAM на кластере. Я использовал метод разложения Скотч и мой decomposeParDict выглядит так:

FoamFile
{
    version     2.0;
    format      ascii;
    class       dictionary;
    object      decomposeParDict;
}
numberOfSubdomains 6;
method          scotch;

checkMesh а также decomposePar закончить без проблем. Я назначил 6 узлов в грязи

srun -N6 -l sonicFoam

и решатель работает без ошибок.

Проблема в том, что скорость решения не улучшена по сравнению с непараллельным моделированием, которое я запускал ранее. Я хочу отслеживать использование процессора, чтобы увидеть, все ли 6 узлов, которые я назначил, загружены одинаково. squeue --user=foobar команда вернуть jobNumber и список назначенных узлов (NODELIST(REASON)) который выглядит так:

foo,bar[061-065]

от sinfo Команда эти узлы оба в debug а также main*PARTITION с (что я понятия не имею, что это значит!).

Этот пост говорит, что вы можете использовать sacct или же sstat Команды для мониторинга процессорного времени и использования памяти для выполнения задания. Но когда я бегу

sacct --format="CPUTime,MaxRSS"

это дает мне:

 CPUTime     MaxRSS
---------- ----------
  00:00:00
  00:00:00
  00:07:36
  00:00:56
  00:00:26
  15:26:24

чего я не могу понять. И когда я указываю номер работы по

sacct --job=<jobNumber> --format="UserCPU"

Возвращение пусто. Так что мои вопросы

  • Моя симуляция загружает все узлы или она работает на одном или двух, а остальные свободны?
  • я запускаю правильные команды? если да, что означают эти цифры? как они представляют загрузку процессора на узел?
  • Если нет, то какие права --format="..." с для sacct и / или sstat (или, может быть, другие команды slurm), чтобы получить загрузку / загрузку процессора?

PS1. Я следовал за компиляцией OpenFOAM, следуя официальным инструкциям. Я ничего не делал с OpenMPI И его mpicc Компилятор по этому вопросу, хотя.

PS2 Для тех из вас, кто может оказаться здесь. Может быть, я запускаю неправильную команду, по-видимому, сначала можно выделить некоторые ресурсы:

srun -N 1 --ntasks-per-node=7 --pty bash

где 7 - количество ядер, которые вы хотите, а bash - просто имя. и затем запустите решатель с:

mpirun -np 7 sonicFoam -parallel -fileHandler uncollated

Я еще не уверен, хотя.

2 ответа

Ты можешь использовать

sacct --format='jobid,AveCPU,MinCPU,MinCPUTask,MinCPUNode'

проверить, все ли процессоры были активны. сравнить AveCPU (среднее время процессора всех задач в работе) с MinCPU (минимальное время процессора всех задач в работе). Если они равны, все 6 задач (вы запросили 6 узлов, неявно по 1 задаче на узел) работали одинаково. Если они не равны или даже MinCPU ноль, то некоторые задачи ничего не делали.

Но в вашем случае, я полагаю, вы заметите, что все задачи усердно работали, но все они делали одно и то же.

Помимо замечания по поводу -parallel пометка @timdykes, вы также должны знать, что запуск задания MPI с sun требует, чтобы OpenMPI был скомпилирован с поддержкой Slurm. Во время установки OpenFOAM он установил собственную версию OpenMPI, и если файл /usr/include/slurm/slurm.h или же /usr/include/slurm.h существует, тогда, вероятно, была скомпилирована поддержка Slurm. Но самым безопасным, вероятно, является использование mpirun,

Но для этого вам нужно будет сначала запросить выделение у Slurm с помощью sbatch или же salloc,

Вы пытались запустить с аргументом -parallel? Все примеры OpenFOAM онлайн используют этот аргумент при выполнении параллельного задания, одним примером является официальное руководство по параллельному запуску.

srun -N $NTASKS -l sonicFOAM -parallel

Кроме того, я видел, что вы сами создали openfoam. Вы проверили, предоставили ли администраторы кластера для него модуль? Обычно вы можете запустить module avail чтобы увидеть список доступных модулей, а затем module load moduleName если есть существующий модуль OpenFOAM. Это полезно, поскольку вы, вероятно, можете доверять его построению со всеми правильными параметрами и автоматически настраивать ваш $PATH и т. Д.

Другие вопросы по тегам