Базовая инструкция для пользователей суперкомпьютера «Торнадо ЮУрГУ»
 
Логотип ЛСМ ЮУрГУ
Южно-Уральский государственный университет (национальный исследовательский университет)
НАУЧНО-ОБРАЗОВАТЕЛЬНЫЙ ЦЕНТР "ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И КВАНТОВЫЕ ТЕХНОЛОГИИ" ЛАБОРАТОРИЯ СУПЕРКОМПЬЮТЕРНОГО МОДЕЛИРОВАНИЯ
Русский язык
О нас
Наши партнеры
Отделы и сотрудники
История
Информация в СМИ
Эмблема ЛСМ
Экскурсии
Контакты
Вычислительные ресурсы
Суперкомпьютер «Торнадо ЮУрГУ»
Комплекс «Нейрокомпьютер ЮУрГУ»
Кластер «СКИФ Урал»
Пользователям
Правила
Регистрация
Прикладное ПО
Системное ПО
Обучение
Инструкции
Инструкции Outlook и SharePoint
Система ПВК
Программное обеспечение
Правила
Инструкции ПВК
Коммерческим клиентам
Научная работа
Цели ЛСМ
Проекты
     
Google

www по сайту
Главная / Пользователям / Инструкции / Базовая инструкция для пользователей суперкомпьютера «Торнадо ЮУрГУ»

Базовая инструкция для пользователей суперкомпьютера «Торнадо ЮУрГУ»

Удаленный терминальный доступ

Удаленный доступ к суперкомпьютеру (вычислительному кластеру) осуществляется через головную машину комплекса (адрес: tornado.hpc.susu.ru) и только с тех компьютеров, IP-адреса которых были указаны в заявке при регистрации.

В настоящий момент удаленный терминальный доступ на кластер осуществляется по протоколу SSH версии 2. Рекомендуется программа PuTTY. Вы можете скачать данную программу с нашего сайта.

Можно также использовать для терминального доступа промежуточный Unix-сервер в Вашей организации, который имеет непосредственный доступ в сеть Интернет. В этом случае надо сообщить нам IP-адрес этого сервера.

Передача файлов на кластер

Для передачи файлов на вычислительный кластер воспользуйтесь программами для работы по протоколу SSH. Установите на своем компьютере WinSCP. Страницы загрузки программ, а также инструкции по установке расположены на нашем сайте.

Хранение файлов

Пользовательские директории (вида /home/<имя>), физически размещенные на параллельном хранилище данных. Максимальный объем данных в этом каталоге обусловлен дисковой квотой для пользователя. Дисковая квота определяется при регистрации, но в дальнейшем может быть увеличена при необходимости. Кроме того, на каждом узле доступен локальный каталог для временных файлов (/tmp). После окончания работы программы временные файлы необходимо удалять.

В соответствии с правилами, пользователь самостоятельно обеспечивает резервное копирование своих данных. Длительное хранение данных пользователей на суперкомпьютере не допускается.

Настройка окружения

Пользователи «Торнадо ЮУрГУ» для удобства могут использовать пакет Environmental Modules. Данный пакет позволяет динамически настраивать переменные окружения согласно потребностям пользователя. В частности этот пакет позволяет быстро переключаться между различными версиями компиляторов и версиями библиотеки MPI.

Основные принципы работы с пакетом Environmental Modules:

  1. Для начала, пользователю необходимо включить поддержку modules. Для этого нужно единожды выполнить команду /opt/basis/Modules/default/bin/add.modules, подтвердить выполнение — набрать yes, а затем выйти и снова зайти на кластер.
  2. Пользователь может просмотреть список доступных модулей с помощью команды module avail.
  3. Пользователь может просмотреть список используемых модулей с помощью команды module list.
  4. Пользователь может начать использовать модуль с помощью команды module add [имя модуля]. Например, можно подключить модуль Intel C Compiler с помощью команды module add compilers/cplusplus/intel/13.0.1, а Intel MPI с помощью команды module add parallel/mpi.intel/4.1.0.024. После этого, для пользователя будут выставлены соответствующие переменные окружения, так например, после загрузки модуля compilers/cplusplus/intel/12.1.0 будет выставлена переменная СС, указывающая компилятор для языка C по умолчанию.
  5. Пользователь может отключить используемый модуль с помощью команды module rm [имя модуля].
  6. Пользователь может заменить используемый модуль командой module switch [старый модуль] [новый модуль], например, с помощью команды module switch compilers/cplusplus/intel/13.0.1 compilers/cplusplus/gnu/4.4.6 можно заменить используемый Intel C Compiler на Gnu C Compiler.
  7. Для того, чтобы используемые вами модули загружались автоматически при входе на кластер, добавьте в конец файла. bashrc команды module add <используемый>.

Компиляция программ

Убедитесь в том, что вы подключили необходимые модули (например, compilers/composer_xe/2013_sp1 и parallel/mpi.intel/4.1.0.024).

Для компиляции MPI-программ рекомендуется пользоваться командами mpiicc. Эти команды автоматически подключают заголовочные файлы и библиотеки MPI.

Рекомендуется использовать опции компиляторов для оптимизации программ. Для компиляторов Intel, установленных на вычислительном кластере, приемлемый уровень оптимизации дает опция -O3, для справки о других опциях оптимизации рекомендуем обращаться к руководствам по компиляторам.

Если необходимо создать исполняемый файл, то имеет смысл воспользоваться опцией -o имя, чтобы задать его имя. Например:

mpiicc ./program.cpp -o ./program
mpiifort -O3 ./program.f -o ./program

Постановка задачи в очередь

При обычной работе в многопользовательском удаленном режиме пользователи ставят свои задачи в очередь. Управление запуском задач происходит с помощью системы управления заданиями SLURM.

Мы рекомендуем вам использовать команду sbatch для постановки задачи в очередь.

Для использования команды sbatch необходимо написать пользовательский скрипт следующего содержания:

#!/bin/bash

#SBATCH <ключ sbatch> <значение>

#SBATCH <ключ sbatch> <значение>

<пользовательские команды>


<пользовательские команды>

Например, приведенный ниже код запустит MPI-программу используя десять узлов (120 MPI процессов) с ограничением времени в два часа (120 минут).

#!/bin/bash

#SBATCH -N 10
#SBATCH -t 120

mpirun <имя> [параметры]

Указанный скрипт следует запускать при помощи команды очереди задач: sbatch [опции] ./имя_скрипта.

При этом стандартный вывод программы и сообщения об ошибках не выводятся на экран, а записываются в создаваемый при запуске в рабочем каталоге файл с названием следующего вида: slurm-<уникальный_идентификатор_задачи>.out

Реально задача начнет выполняться, как только она будет на верхушке очереди и будут свободны N вычислительных узлов. Система автоматически подбирает свободные узлы (ядра) для запуска задачи. Гарантируется, что на каждом узле будет запущено не более прикладных процессов, чем реально доступно вычислительных ядер. Если задача поставлена в очередь, система выдает подтверждение и присваивает задаче уникальный номер (ID).

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

Особенности распределения MPI процессов по узлам

Каждый вычислительный узел имеет 12 физических процессорных ядер (24 логических, благодаря технологии гиперпоточности).

При запуска MPI задачи через систему управления заданиями SLURM на каждом вычислительным узле по умолчанию создается по 12 MPI процессов (по одному процессу на физическое ядро).

Если необходимо использовать другое количество MPI процессов на узел, то можно использовать следующие ключи к командам sbatch, salloc и srun:

-N кол-во вычислительных узлов
-n кол-во MPI процессов (суммарно)
--ntasks-per-node= кол-во MPI процессов на узел

Например, приведенная ниже команда запустит MPI-программу на 2-х узлах, по одному MPI-процессу на каждом узле (не следует использовать данный пример без использования openmp и omp_get _num_threads () не равному 12, т.к. не будет достигнута полная загрузка узлов):

sbatch -n 2 --ntasks-per-node=1 mpirun <исполняемый файл openmp+MPI-программы>

Отправка уведомления на электронную почту

Для более оперативного получения информации о состоянии задач существует возможность отправки уведомлений на электронную почту.

Для включения такой возможности достаточно указать опцию --mail-type=ALL к команде sbatch: sbatch --mail-type=ALL [другие опции] ./имя_скрипта

Или поместить опцию --mail-type=ALL в скрипт:

#!/bin/bash

#SBATCH -N 10
#SBATCH -t 120
#SBATCH --mail-type=ALL

пользовательские команды

Для чего нужно указывать предельное время?

Для задач можно задать ограничение времени счета. Обычно он задан по умолчанию, но можно его понизить, если это необходимо. По истечении указанного лимита, если задача еще считается, она будет принудительно снята со счёта. Система ориентируется на то, что задача будет считаться не более указанного лимита времени, и учитывает это при планировании пуска задач. Задачи с меньшим временным лимитом получают приоритет перед задачами с большим временным лимитом.

Просим Вас разумно пользоваться возможностями системы и проявлять уважение к другим пользователям.

Просмотр состояния очереди

Посмотреть текущее состояние очереди можно командой:
squeue [-u <пользователь>]

Удаление задачи

Удаление задачи выполняется командой scancel [номер задачи]

Более подробные сведения о работе с очереью SLURM можно узнать на официальном cайте проекта.

Базовые команды ОС Linux

Для пользователей, не знакомых с операционной системой Linux, приводим базовые команды, необходимые для работы:

  • pwd— получить полный путь текущего каталога;
  • cd— сменить текущий каталог;
  • ls— распечатать содержимое каталога;
  • cp— копировать файл;
  • mv— переместить (переименовать) файл;
  • rm— удалить файл;
  • cat— выдать содержимое файла на консоль;
  • gzip— сжать файл;
  • exit — выйти из оболочки (или отключиться от машины).

Справку по любой команде можно получить командой man <имя>.

Пример гибридной программы (MPI+openmp)

Пример простой MPI программы расположен в каталоге: /share/cae_samples/MPI/Hybrid/

Для использования примера скопируйте его в свою домашнюю директорию:

cp -r /share/cae_samples/MPI/Hybrid/ ~/MPI_Hybrid

В каталоге ~/MPI_Hybrid будут расположены скрипты сборки (compile.sh) и постановки задачи в очередь (run_task.sh).

Как стать пользователем суперкомпьютеров ЮУрГУ?

Ответ на данный вопрос, вы можете получить на странице: Регистрация пользователей.

В случае проблем

Сделайте заявку в электронной системе учета неполадок СКЦ ЛСМ https://mantis.hpc.susu.ru и ваша проблема будет решена. Проблему, с которой Вы обращаетесь, следует описать как можно более подробно. В частности, если проблема связана с компиляцией или запуском программы, то нужно указать, в какой директории находится программа, каким образом (какими именно командами) Вы ее компилируете и запускаете, какие сообщения получаете.