Удаленный доступ к суперкомпьютеру (вычислительному кластеру) осуществляется через головную машину комплекса (адрес: tornado.hpc.susu.ac.ru) и только с тех компьютеров, IP-адреса которых были указаны в заявке при регистрации.
В настоящий момент удаленный терминальный доступ на кластер осуществляется по протоколу SSH версии 2. Рекомендуется программа PuTTY. Вы можете скачать данную программу с нашего сайта.
Можно также использовать для терминального доступа промежуточный Unix-сервер в Вашей организации, который имеет непосредственный доступ в сеть Интернет. В этом случае надо сообщить нам IP-адрес этого сервера.
Для передачи файлов на вычислительный кластер воспользуйтесь программами для работы по протоколу SSH. Установите на своем компьютере FAR со специальным плагином WinSCP. Страницы загрузки программ, а также инструкции по установке расположены на нашем сайте.
Пользовательские директории (вида /home/<имя>), физически размещенные на параллельном хранилище данных. Максимальный объем данных в этом каталоге обусловлен дисковой квотой для пользователя. Дисковая квота определяется при регистрации, но в дальнейшем может быть увеличена при необходимости. Кроме того, на каждом узле доступен локальный каталог для временных файлов (/tmp). После окончания работы программы временные файлы необходимо удалять.
Пользователи «Торнадо ЮУрГУ» для удобства могут использовать пакет Environmental Modules. Данный пакет позволяет динамически настраивать переменные окружение согласно потребностям пользователя. В частности этот пакет позволяет быстро переключаться между различными версиями компиляторов и версиями библиотеки MPI.
Основные принципы работы с пакетом Environmental Modules:
/opt/basis/Modules/default/bin/add.modules
, подтвердить выполнение — набрать yes, а затем выйти и снова зайти на кластер.module avail
.module list
.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 по умолчанию.module rm [имя модуля]
.module switch [старый модуль] [новый модуль]
, например, с помощью команды module switch compilers/cplusplus/intel/13.0.1 compilers/cplusplus/gnu/4.4.6
можно заменить используемый Intel C Compiler на Gnu C Compiler.module add <используемый>
.Убедитесь в том, что вы подключили необходимые модули (например, compilers/fortran/intel/13.0.1 и parallel/mpi.intel/4.1.0.024).
Для компиляции MPI-программ рекомендуется пользоваться командами mpiicc
. Эти команды автоматически подключают заголовочные файлы и библиотеки MPI.
Рекомендуется использовать опции компиляторов для оптимизации программ. Для компиляторов Intel, установленных на вычислительном кластере, приемлемый уровень оптимизации дает опция -O3
, для справки о других опциях оптимизации рекомендуем обращаться к руководствам по компиляторам.
Если необходимо создать исполняемый файл, то имеет смысл воспользоваться опцией -o имя
, чтобы задать его имя. Например:
mpiicc ./program.cpp -o ./program
mpiifort -O3 ./program.f -o ./program
Компиляция Xeon Phi программ:
mpiicc ./program.cpp -o ./program
mpiicc -mmic ./program.cpp -o ./program
mpiicc -mkl ./program.cpp -o ./program
При этом будет создан исполняемый файл program, который можно запускать на исполнение через очередь задач.
Для сборки многомодульных приложений целесообразно пользоваться утилитой GNU make
.
При обычной работе в многопользовательском удаленном режиме пользователи ставят свои задачи в очередь. Управление запуском задач происходит с помощью системы управления заданиями SLURM.
Мы рекомендуем вам использовать команду sbatch
для постановки задачи в очередь.
Для использования команды sbatch
необходимо написать пользовательский скрипт следующего содержания:
#!/bin/bash
#SBATCH <ключ sbatch> <значение>
…
#SBATCH <ключ sbatch> <значение>
<пользовательский>
…
<пользовательский>
<команда>
Например, приведенный ниже код запустит MPI-программу используя десять узлов с ограничение времени в два часа.
#!/bin/bash
#SBATCH -N 10
#SBATCH -t 120
mpirun <имя> [параметры]
Указанный скрипт следует запускать при помощи команды очереди задач: sbatch [опции] ./имя_скрипта.
При этом стандартный вывод программы и сообщения об ошибках не выводятся на экран, а записываются в создаваемый при запуске в рабочем каталоге файл с названием следующего вида: slurm-<уникальный_идентификатор_задачи>.out
Реально задача начнет выполняться, как только она будет на верхушке очереди и будут свободны N процессорных ядер. Система автоматически подбирает свободные узлы (ядра) для запуска задачи. Гарантируется, что на каждом узле будет запущено не более прикладных процессов, чем реально доступно вычислительных ядер. Если задача поставлена в очередь, система выдает подтверждение и присваивает задаче уникальный номер (ID).
После постановки задачи в очередь пользователь может отключиться от терминала, а затем в любой момент подключиться к системе и просматривать результаты прежде запущенных задач.
salloc -N 1 -C mic_online
ssh mic0
ssh node<номер>-mic0
Загрузите модуль «launcher/mic»
sbatch -N 1 -C mic_online symmetric_run.sh ./program
sbatch -N 1 -C mic_online native_run.sh ./program.mic
Для задач можно задать ограничение времени счета. Обычно он задан по умолчанию, но можно его понизить, если это необходимо. По истечении указанного лимита, если задача еще считается, она будет принудительно снята со счёта. Система ориентируется на то, что задача будет считаться не более указанного лимита времени, и учитывает это при планировании пуска задач. Задачи с меньшим временным лимитом получают приоритет перед задачами с большим временным лимитом.
Просим Вас разумно пользоваться возможностями системы и проявлять уважение к другим пользователям.
Посмотреть текущее состояние очереди можно командой: squeue [-u <пользователь>]
Удаление задачи выполняется командой scancel [номер задачи]
Более подробные сведения о работе с очередью SLURM можно узнать на официальном cайте проекта.
Для пользователей, не знакомых с операционной системой Linux, приводим базовые команды, необходимые для работы:
pwd
— получить полный путь текущего каталога;cd
— сменить текущий каталог;ls
— распечатать содержимое каталога;cp
— копировать файл;mv
— переместить (переименовать) файл;rm
— удалить файл;cat
— выдать содержимое файла на консоль;gzip
— сжать файл;exit
— выйти из оболочки (или отключиться от машины).Справку по любой команде можно получить командой man <имя>
.
Ответ на данный вопрос, вы можете получить на странице: Регистрация пользователей.
Сделайте заявку в электронной системе учета неполадок СКЦ https://rt.hpc.susu.ac.ru и ваша проблема будет решена. Проблему, с которой Вы обращаетесь, следует описать как можно более подробно. В частности, если проблема связана с компиляцией или запуском программы, то нужно указать, в какой директории находится программа, каким образом (какими именно командами) Вы ее компилируете и запускаете, какие сообщения получаете.