Основная информация по работе на суперкомпьютере "Ломоносов"

Внимание! Информация здесь может быть устаревшей, более актуальную смотрите здесь.

На суперкомпьютере используется система управления очередями Slurm, информацию об основных командах смотрите ниже. Узлы суперкомпьютера разделены на несколько разделов (очередей). Основная очередь - regular4. Есть раздел test, предназначенный для отладки приложений.

В качестве общей файловой системы на вычислительных узлах используется Lustre, на головных узлах раздел Lustre находится в каталоге ~/_scratch.

Компиляция программ осуществляется на узле compiler. Предварительно нужно зайти на него командой ssh compiler. Вы можете зайти на этот узел сразу, указав в ssh-клиенте адрес compiler.lomonosov.parallel.ru вместо lomonosov.parallel.ru.

На суперкомпьютере используется пакет modules для управления окружением компиляции и запуска. Перед компиляцией Вам необходимо загрузить модули для компилятора, реализации MPI, и, возможно, другие, нужные для вашей программы. Список модулей получается командой module avail. Загрузить модуль можно командой module add ИМЯ_МОДУЛЯ.

Например, для компиляции программы компилятором Intel с OpenMPI и библиотекой выполните команды:

module add openmpi/1.5.5-icc

module add intel/13.1.0

module add mkl/4.0.2.146

Обратите внимание, точные имена модулей могут отличаться.

Получить список активных подулей можно командой module list, выгрузить модуль - командой module rm.

Загруженные модули не сохраняются между сессиями, если вам нужно всегда использовать один набор модулей, допишите нужные команды в файл ~/.bashrc.

Запуск программы осуществляется только из каталога ~/_scratch и его подкаталогов. Только этот каталог будет виден на вычислительном узле и именно он будет считаться домашним каталогм. Поэтому перед запуском вам необходимо скопировать все данные и исполняемые файлы в каталог ~/_scratch. Также перед запуском обязательно нужно загрузить соответствующий модуль для MPI и, если нужно, дополнительные, такие как MKL, CUDA и т.п.

Запуск (точнее, постановка в очередь) осуществляется командой sbatch. Команда sbatch ставит в очередь только скрипты, и запуск MPI-приложений должен осуществляться особым образом (sbatch не "знает" как их правильно запускать), поэтому для IntelMPI-приложений используется скрипт impi, для OpenMPI - ompi. Для запуска не MPI-приложения используйте скрипт run.

Например, запуск IntelMPI-приложения на 1024 ядра:

sbatch -n1024 impi path/to/my/application

Часто используемые ключи команды sbatch:

-n NNN - число требуемых ядер

-N NNN - число требуемых узлов

--ntasks-per-node=NNN - число процессов на узел

-p NAME - имя раздела (очереди)

-t MINS - лимит времени работы задачи в минутах

-o/-e/-i - перенаправление ввода/ошибок/вывода в файл

Например, если вам необходимо запустить задачу гибридную MPI+OpenMP прогпрамму на 512 ядер, но на каждом узле запустить только 2 MPI-процесса, используйте ключи -n512 --ntasks-per-node=2. Не используйте вместе ключи -n и -N, их комбинация не работает. Для запуска в очереди test используйте ключ -p test.

Просмотр задач в очереди - командой squeue, команда sinfo выдаст краткую информацию об очереди (без списка задач). Снять задачу со счёта или из очеред можно командой scancel. Подробнее о командах можно узнать в документации командой man имя_команды.