КРАТКАЯ ИНСТРУКЦИЯ
ПОЛЬЗОВАТЕЛЯ ПО ПОДГОТОВКЕ И ЗАПУСКУ ПРОГРАММ
НА ВЫЧИСЛИТЕЛЬНЫХ РЕСУРСАХ ИММ УрО РАН
Доступ к серверам
Запуск задач на:
Доступ к вычислительным ресурсам.
- Получить login (имя пользователя) и пароль для доступа на сервер
Имя пользователя и пароль выдаются администратором серверов.
- Установить на рабочий компьютер программу PUTTY
Доступ к серверам осуществляется через протокол SSH. Этот протокол используется для терминального доступа к командной строке (собственно SSH – « secure shell »). Для работы с командной строкой рекомендуется программа putty.Эта программа позволяет единожды ввести адрес сервера и, в дальнейшем, выбирать его из списка сессий. В настройках putty необходимо указать протокол SSH. При первом соединении с сервером программа выдает предупреждение о том, что ключ шифрования сервера ранее не использовался, и предлагает его сохранить или отвергнуть (продолжить сеанс или прервать). Естественно надо выбрать продолжение сеанса.
Пример диалога при входе на сервер UM16 с именем xxxxx с компьютера ada.imm.uran.ru:
login as: xxxxx
Password: (ввести пароль)
Last login: Tue Sep 6 16:31:23 2005 from ada.imm.uran.ru
Вы можете изменить свой пароль в любое время, набрав команду passwd, например:
[~@um16]:passwd
Password for xxxxx@IMM.URAN.RU: (наберите здесь свой текущий пароль)
Enter new password: (наберите новый пароль)
Enter it again: (повторите новый пароль)
Password changed. (успешная смена пароля)
Для того чтобы защитить свою учетную запись, придерживайтесь следующих рекомендаций:
- используйте пароль не менее, чем из 6 букв и цифр и храните его в секрете;
- один раз в полгода меняйте свой пароль;
- никогда не оставляйте активный терминал без внимания, всегда выходите (logout) со своего терминала (заканчивайте сеанс) прежде, чем покинуть его;
- обязательно сообщайте о любом неправильном использовании или злоупотреблении системному администратору, иначе доступ к серверу будет закрыт.
Для того, чтобы завершить сеанс работы на сервере, выполните команду logout.
Для дальнейшей работы полезно познакомиться хотя бы с некоторыми командами UNIX или почитать об OC LINUX.
Запуск задач на кластере
- Переписать тексты программ на сервер.
Для этого используйте программу WinSCP
При копировании файлов (протоколы SCP – “secure copy ” и SFTP – “ secure ftp ”) в настройках WinSCP рекомендуется выбрать протокол SFTP. Программа WinSCP позволяет сохранить имя пользователя и пароль. При первом соединении с сервером программа выдает предупреждение о том, что ключ шифрования сервера ранее не использовался, и предлагает его сохранить или отвергнуть (продолжить сеанс или прервать). Естественно, надо выбрать продолжение сеанса. Программа WinSCP может использоваться как самостоятельное приложение и как плагин для других программ проводников, например для Far Commander.
Тексты программ и данные для задачи можно записать в отдельный каталог, тогда вся информация по этой задаче будет сохраняться в этом каталоге (объектные модули после трансляции текстов программ, файл с сообщениями об ошибках, выходные файлы).
На сервере существует понятиe домашнего каталога, это каталог с именем /home/имя_пользователя. При работе с командной строкой этот каталог становится текущим после установления терминального соединения. Программа WinSCP может запоминать последний посещенный в предыдущей сессии каталог. Поэтому важно следить, в какой каталог производится копирование.
После копирования необходимо перейти в рабочий каталог, выполнить компиляцию программы и ее запуск.
- Компиляция программ.
Для удобства работы можно воспользоваться оболочкой Midnight Commander (очень напоминает FAR или NC), введя в командной строке mc.По умолчанию на всех главных узлах установлен некоторый нобор компиляторов и библиотек. При выполнение входа на вычислитель каждому пользователю на экран выдается информация об установленных и достпуных ему компиляторах и библиотеках, а также дополнительная служебная информация. Например:
login as: xxxxx
Password: (ввести пароль)
Last login: Tue Sep 6 16:31:23 2005 from ada.imm.uran.ru
Информация о кластере UM64
По четвергам, с 9:00 до 13:00 на кластере проходят
технические работы. Запуск задач на это время
приостанавливаться.
Готовые библиотеки для решения СЛАУ:
Intel MKL /opt/intel/mkl/9.1/
ATLAS /opt/atlas
Доступные компиляторы:
GNU (gcc, g++ - версии 4.1.1)
PGI (pgcc, pgcpp, pgf77, pgf90, pgf95 - версии 6.2)
Intel (icc, ifort - версии 9.1)
Реализация библиотеки MPI:
MPICH2 (PGI)
OPEN MPI (PGI)
По умолчанию используется библиотека MPICH2 вместе с компилятором PGI
Для смены компиляторов и библиотеки MPICH используйте команду mpiset.
Об изменениях в программном обеспечении кластера можно ознакомиться
на сайте: http://parallel.imm.uran.ru
По всем вопросам обращайтесь:
тел.: 8(343)375-35-11
e-mail: parallel (at) imm.uran.ru
Компиляция выполняется командами:
- mpicc для программ на Си
- mpiCC для программ на C ++
- mpif77 для программ на фортране77
- mpif90 для программ на фортране90
Для файлов на Си и C++ важно расширение имени файла, для языка С это .c и для языка С++ расширения файла должно быть .cxx.
В командной строке задается список файлов, которые надо откомпилировать, и имя выходного файла. Для удобства, сообщения об ошибках компиляции желательно перенаправить в файл. Например, если наша программа должна называться outprog и собирается из файлов in1.c и in2.c, находящихся в каталоге proj, то необходимо выполнить следующие действия:
cd proj
mpicc –o outprog in1.c in2.c 2>errors.log
Сообщения об ошибках компиляции попадут в файл errors.log. Файл с ошибками можно скопировать, используя WinSCP, на свою машину и просмотреть в текстовом редакторе (Notepad не подходит из-за различия в формате строк, а Wordpad справляется хорошо) или открыть прямо на вычислителе с использовнием mc. В командной строчке файл можно пролистать командой:
less errors.log
При пролистывании используются клавиши <Space> - следующая страница, <b> - предыдущая страница, <q> - выход из просмотра.
Если необходимо подключить дополнительные библиотеки, то необходимо в строку компиляции добавить опцию – l имя_библиотеки , например, библиотека BLAS подключится так:
mpicc –o outprog in1.c in2.c 2 -lblas 2>errors.log
Если программа скомпилировалась успешно, создастся файл outprog. Это можно посмотреть в WinSCP, не забыв обновить список файлов в окошке или в командной строке командой ls , которая выдает список файлов.
- Запустить программу на счет.
Теперь программу можно поставить в очередь задач командой mpirun c параметрами –np число процессоров и –maxtime время предполагаемого счета в минутах. Чем больше та и другая величины, тем дольше придется ждать запуска задачи. Например, запустим нашу задачу на 8 процессорах, ограничив время счета 30-ю минутами:
mpirun –np 8 –maxtime 30 outprog
Внимание! До тех пор, пока задача не просчиталась, нельзя ее перекомпилировать, удалять исполняемый файл и менять входные данные.
Задачи в очереди именуются как имя_программы.номер. Номер обычно равен 1 (например, outprog .1). Несколько задач с возрастающими номерами появятся, если ставить программу в очередь несколько раз, не дожидаясь пока предыдущий вариант запустится и завершится.
За очередью задач можно следить с помощью команды mqinfo , которая выдает информацию о завершившихся, выполняющихся и ждущих задачах, а также о числе доступных процессоров. Иногда часть процессоров может быть отключена от работы; в этом случае задачи, рассчитанные на максимальное число процессоров, запускаться не будут. В выводе программы mqinfo строка информации о процессорах выглядит так:
Free: 0 proc. Available: 28 Locked: 4
При необходимости можно удалить задачу из очереди командой mqdel имя_задачи. Например:
mqdel outprog.1
После запуска программы создается каталог с именем, совпадающим с именем задачи в очереди, т.е. имя_программы.номер (outprog.1 для нашего примера). В этот каталог помещаются файлы manager.log и errors с сообщениями о процессе запуска задачи и возникших ошибках, а также файлы output , output 1 , output 2 и т.д., в которые перенаправляется стандартный вывод программы со всех использованных процессоров. Если задачу запустить повторно, то файлы в этом каталоге будут перезаписаны.
Запуск задач на суперкомпьютере
На данный момент в распоряжении ИММ УрО РАН имеется один суперкомпьютер - это Fujitsu-Siemens с утсановленной OC Solaris. При работе на нем используется оболочка deco. Компиляция программ, использующих MPI , выполняется командами:
- mpicc для программ на Си
- mpiCC для программ на C ++
- mpif77 для программ на фортране77
- mpif90 для программ на фортране90
Пример запуска компилятора:
mpicc –o outprog in1.c in2.c 2>errors.log
Запуск программ, использующих MPI , производится командой mpirun c параметром – np число процессоров (от 1 до 8)
mpirun –np 8 outprog
Запуск происходит немедленно, очередь задач не поддерживается. Компиляция программ, использующих OpenMP , выполняется программами:
- cc для программ на Си
- cc для программ на C ++
- f77 для программ на фортране77
- f90 для программ на фортране90
Для этих компиляторов можно задать флаг –xautopar для автоматического распараллеливания:
cc –o outprog -xautopar in1.c in2.c 2>errors.log
Перед запуском программы набрать в командной строке команду:
export OMP_NUM_THREADS=8
Эта команда задает число процессоров для автоматического распараллеливания. Сам запуск выполняется так:
./outprog
./ - нужны для явного указания того, что исполняемый файл берется из текущего каталога. Команды трансляции, компиляции, постановки задачи в очередь на выполнение и другие часто используемые команды с большим числом параметров можно сохранить в файлах и выполнять эти файлы как bat-файлы.
Внимание! Пользователям без опыта работы в области параллельных вычислений очень рекомендуем ознакомиться со следующими инструкциями:
1. Руководство пользователя системы МВС-1000/16
(А.В. Баранов,А.О. Лацис,C.В. Сажин,М.Ю. Храмцов)
2.Краткая инструкция пользователя по подготовке и запуску
программ на МВС-1000/16
(А.В.Баранов, А.О.Лацис, C.В.Сажин, М.Ю.Храмцов)
3.Инструкция прикладному программисту по коммуникационной
среде TCP Router для
МВС-1000/16 ( А.О. Лацис)