DVM-система
разработки параллельных программ
Руководство по
установке
- дата последнего обновления 16.03.10 -
Содержание
1. Установка DVM-системы в OC Windows
1.1
Установка системы
1.2
Проблемы, возникающие при установке DVM-системы
1.2.1
Недостаточно памяти для переменных среды
2.
Установка DVM-системы в OC UNIX
3.
Проверка правильности установки DVM-системы
4.
Запуск демонстрационных программ
DVM-система поставляется в виде исходных текстов (файл dvmNNN.tgz). NNN в имени файла - номер версии системы. При установке осуществляется компиляция всех компонентов системы и настройка на конфигурацию компьютера. Различные версии системы можно найти на сайте www.keldysh.ru/dvm.
Для установки DVM-системы необходимы:
операционная система Windows XP, Windows Vista, Windows7.
Компиляторы C/C++ Microsoft Visual Studio .NET 2003 и выше.
Intel Fortran 9.0 и выше. (Если предполагается работать с программами, написанными на языке Fortran-DVM).
Реализация стандарта MPI для Windows.
WINZIP - стандартный инструмент Windows для разархивирования файлов. Он рекомендуется, так как обеспечивает преобразование текстовых файлов в формат Windows.
Для установки варианта DVM-системы выполните следующие шаги.
Установите одну из реализаций стандарта MPI. DVM-система проверялась на MPICH2 32-х разрядной реализации MPI-2, созданной в Арагонской национальной лаборатории (США) ( http://www.mcs.anl.gov/research/projects/mpich2/).
При последующих установках новых версий DVM-системы (если это не оговорено особо в данной инструкции) этот шаг можно опустить.
Создайте директорию для версии DVM-системы (например,
Перепишите туда необходимые файлы из следующего списка:
dvmNNN.tgz |
- |
DVM-система в виде исходных текстов; |
dvmUSRrhtm.tar.gz |
- |
документация пользователя на русском языке; |
dvmSYSrhtm.tar.gz |
- |
документация разработчика на русском языке; |
dvmUSRehtm.tar.gz |
- |
документация пользователя на английском языке; |
dvmSYSehtm.tar.gz |
- |
документация разработчика на английском языке; |
В результате будут созданы следующие поддиректории и файлы
:
dvm_sys\ |
|||
cdvm\ |
- |
конвертор C-DVM; |
|
driver\ |
- |
служебные программы DVM-системы; |
|
examples\ |
- |
демонстрационные программы; |
|
fdvm\ |
- |
конвертор Fortran-DVM; |
|
platforms\ |
- |
наборы параметров для конкретных платформ; |
|
pppa\ |
- |
анализатор производительности DVM-программ; |
|
predictor\ |
- |
предсказатель производительности DVM-программ; |
|
rts\ |
- |
система поддержки DVM-программ; |
|
copyright |
- |
лицензионные соглашения; |
|
dvmclean* |
- |
программы очистки директорий DVM-системы; |
|
dvmcleanall* |
- |
программы деинсталляции DVM-системы; |
|
dvminstall* |
- |
программы инсталляции DVM-системы; |
|
makefile* |
- |
файлы поддержки инсталляции и деинсталляции; |
|
win_size_5.txt |
- |
контрольный файл разархивирования. |
Программа распаковки должна обеспечить представление текстовых файлов в формате
Windows. Контроль за этим осуществляется с помощью файла win_size_5.txt – его размер в среде Windows после распаковки должен быть равен 5 байт. В противном случае примените другой инструмент для разархивирования.Распакуйте один или несколько файлов с документацией, в результате чего дополнительно появится поддиректория
Выполните настройку на установленные на Вашем компьютере компиляторы и MPI-библиотеку. Этот пункт можно пропустить, если Вы используете одну из известных программе установки реализаций MPI (например MPICH2), находящуюся на “стандартном” месте и известные программе установки компиляторы. Список и стандартное местоположение этих компиляторов и MPI-библиотеки определены в файле dvminstall.bat в виде закомментаренных строк, определяющих переменные MPI_HOME (для MPI-библиотеки), SETVARSVC (для С-компилятора) и SETVARSFTN (для Fortran-компилятора).
Если настройка на компиляторы и на MPI-библиотеку необходима, то в файле dvminstall.bat
Раскомментируйте одну из строк, определяющих переменную SETVARSVC и скорректируйте ее значение. Эта переменная задает полное имя программы, устанавливающей переменные среды С (С++) компилятора;
Если предполагается работать с программами, написанными на языке Fortran-DVM, то раскомментируйте одну из строк с установкой переменной SETVARSFTN и скорректируйте ее значение, определяющее полное имя программы, устанавливающей переменные среды Fortran компилятора;
Если упомянутые выше программы потребуют задания параметров, их можно перечислить в переменных ARGSETVARSVC и ARGSETVARSFTN соответственно;
Скорректируйте (если необходимо) переменные, задающие опции компиляторов С (OPTCC), С++ (OPTCXX), Fortran (OPTFORT), линковщиков С и Fortran программ (OPTLINKER и OPTFLINKER).
Скорректируйте (если необходимо) параметры, определяющие версию библиотеки MPI (переменные MPI_HOME, MPI_INC, MPI_LIB).
Замечание1. Если ни одна из переменных
SETVARSVC и SETVARSFTN не задана, то программа установки пытается определить наличие компиляторов (известных ей) в стандартных местах (на диске С). Начинается поиск с компиляторов, имеющих наибольший номер версии. В случае успешного поиска выдается соответствующая информация. Если не обнаружен компилятор с языка Fortran, то выдается соответствующее сообщение и установка может быть продолжена для работы без Fortran-DVM программ. Если не обнаружен компилятор с языка Си, то выдается соответствующее сообщение и установка прекращается.В директории dvm_sys выполните команду инсталляции DVM-системы:
dvminstall.bat
В случае ее успешного выполнения на экран будет выдано сообщение:
“DVM-system is successfully installed”
и в директории dvm_sys появятся следующие поддиректории (помимо вышеперечисленных):
bin\ |
- |
выполняемые файлы DVM-системы; |
demo\ |
- |
копия демонстрационных программ для проверки правильности установки DVM-системы; |
lib\ |
- |
библиотека программ системы поддержки; |
par\ |
- |
параметры системы поддержки; |
user\ |
- |
файлы, копируемые в директории пользователей. |
Если при инсталляции
DVM-системы возникнут какие-то ошибки, то следует проанализировать файлы logfile.txt, которые появятся в поддиректориях \src директорий rts, cdvm, fdvm, driver, pppa, predictor.DVM-система готова к использованию!
Теперь каждый пользователь может скопировать в свою директорию с DVM-программами все файлы из директории
dvm_sys\user и начинать работать с DVM-системой.1.2.1 Недостаточно памяти для переменных среды
Возможно, во время первой инсталляции DVM-системы или во время выполнения DVM-программы на экране появится сообщение:
“Недостаточно памяти для переменных
среды”
(“Out of environment space”)
В этом случае следует увеличить эту память одним из трех следующих способов (3072 - минимальный размер памяти для переменных среды DVM-системы):
задав в файле config.sys строку:
при запуске задач в окне
Свойства | -> | Память | -> | Переменные среды | = 3072 |
при запуске любого bat-файла из “Проводника” надо предварительно изменить свойства этого объекта (bat-файла) с помощью подокна
Свойства | -> | Память | -> | Переменные среды | = 3072 |
Рекомендуется использовать первые два способа, т.к. это нужно проделать только один раз.
2. Установка DVM-системы в OC UNIX
DVM-система предполагает наличие двух машин - инструментальной (хост-компьютера
) и параллельной. В качестве инструментальной может выступать один из узлов параллельной машины. На инструментальной машине осуществляется подготовка и запуск на выполнение параллельных программ, анализ и прогнозирование выполнения параллельной программы.Установка
DVM-системы выполняется на инструментальной машине в выделенной DVM-директории и состоит из подготовкиDVM-библиотеки для параллельной машины,
компиляторов Fortran-DVM и C-DVM,
DVM-драйвера,
анализатора производительности,
предиктора
Для установки DVM-системы необходимы:
операционная система UNIX
оболочка
C и C++ компиляторы хост-компьютера;
C и Fortran компиляторы параллельной машины;
библиотека MPI;
утилита make; утилита
утилиты gunzip, tar для разархивирования.
Для установки DVM-системы выполните следующие шаги.
Выберите или создайте директорию для
данной (NNN-ой) версии DVM-системы (например, DVM_NNN); Перепишите туда необходимые файлы из
следующего списка:
dvmNNN.tgz |
- |
DVM-система; |
dvmUSRrhtm.tar.gz |
- |
документация пользователя на русском языке; |
dvmSYSrhtm.tar.gz |
- |
документация разработчика на русском языке; |
dvmUSRehtm.tar.gz |
- |
документация пользователя на английском языке; |
dvmSYSehtm.tar.gz |
- |
документация разработчика на английском языке; |
Распакуйте файл
tar -xzf dvmNNN.tgz
В результате будут созданы следующие поддиректории и файлы:
dvm_sys/ |
|||
cdvm/ |
- |
конвертор C-DVM; |
|
driver/ |
- |
служебные программы DVM-системы; |
|
examples/ |
- |
демонстрационные программы; |
|
fdvm/ |
- |
конвертор Fortran-DVM; |
|
platforms/ |
- |
наборы параметров для конкретных платформ; |
|
pppa/ |
- |
анализатор производительности DVM-программ; |
|
predictor/ |
- |
предсказатель производительности DVM-программ; |
|
rts/ |
- |
система поддержки DVM-программ; |
|
copyright |
- |
лицензионные соглашения; |
|
dvmclean* |
- |
программы очистки директорий DVM-системы; |
|
dvmcleanall* |
- |
программы деинсталляции DVM-системы; |
|
dvminstall* |
- |
программы инсталляции DVM-системы; |
|
makefile* |
- |
файлы поддержки инсталляции и деинсталляции. |
Аналогично распакуйте один или несколько файлов с документацией, в результате чего дополнительно появится поддиректория
В файле
CC – C
компилятор для хост-компьютера;
CXX – C++ компилятор для
хост-компьютера;
LINKER - линковщик для хост-компьютера;
MPI_BIN – директория с
командами вызова компиляторов и запуска
программ для параллельной машины;
PCC – C компилятор для
параллельной машины;
PFORT – Fortran компилятор для
параллельной машины;
PLINKER – линковщик C
программ для параллельной машины;
PFLINKER – линковщик Fortran
программ для параллельной машины;
lm - подключение
математических библиотек;
Par – утилита для создания
библиотек для параллельной машины;
dvmrun – команда (или скрипт)
для запуска DVM-программ
(см. ниже Замечание 3);
MPI_INC – директория с include-файлами
MPI-библиотеки;
MPI_LIB – библиотечные
файлы MPI.
Замечание 1.
Параметры задаются в формате команды
Замечание 2.
Если вызов компиляторов и линкеров для
параллельной машины (переменные
Замечание 3.
формат команды запуска (например parsytec.run);
- runmpi.all);
наличие планировщика для постановки задач в очередь на исполнение и особенности его работы (например
- NFS) (например soliton.run);
особенности работы с распределенной файловой системой (
- MPI (mpich, lam) (например runmpich, runlam);
реализации
- run1000.mpi).
необходимость формирования файла, описывающего задание на выполнение (например
Эти скрипты находятся в директории
dvm_sys/driver/src. Их имена указаны в файлах параметров для соответствующих платформ (см. Замечание 4), как значения переменной dvmrun. В процессе инсталяции скрипт, указанный в переменной dvmrun копируется в директорию dvm_sys/bin, откуда и будет выполняться при запуске DVM-программ.При установке
DVM-системы на новой платформе возможны следующие варианты организации запуска DVM-программ:
Переменной dvmrun присваивается значение пусто ( setenv dvmrun ). В этом случае для запуска DVM-программы сначала должна быть выполнена команда dvm run <grid> , по которой будут созданы необходимые файлы, а затем запускать DVM-программу, как запускается MPI-программа на данной установке. (Здесь <grid> - виртуальная решетка процессоров, на которой должна выполняться DVM-программа). Необходимо иметь ввиду, что в текущей директории (где будет выполнятся программа) должны быть файлы, сформированные командой dvm run <grid>.
- dvmrun задается команда запуска MPI-программ для данной установки с требуемыми опциями. В этом случае, если значение переменной dvmrun задано как
В переменной
setenv dvmrun “mpirun [mpi_options] –np ”
то при запуске программы jac2d командой
dvm run 4 2 [cur_options] jac2d [args]
будет выполнено
mpirun [mpi_options] –np 8 [cur_options] jac2d [args]- dvmrun задается один из скриптов (возможно подкорректированный), имеющийся в DVM-системе и/или находящийся в директории dvm_sys/driver/src.
В переменной
- dvmrun нужно либо указать его полное имя, либо простое, но разместить его в доступном для исполнения месте (директория должна присутствовать в path).
Пишется новый скрипт (с учетом всего выше изложенного). В этом случае в переменной
В случаях 2, 3, 4 запуск
DVM-программ осуществляется стандартным образом, как описано в соответствующих документах по DVM-системе.Замечание 4.
setenv PLATFORM <имя файла>
(или раскомментировать соответствующую строку, имеющуюся в dvminstall). В этом случае, все зависящие от платформы переменные будут скорректированы в соответствии с имеющимися в указанном файле значениями.
В директории dvm_sys выполните команду
dvminstall
В случае ее успешного выполнения на экран будет выдано сообщение:
“DVM-system is successfully installed”'
и помимо вышеперечисленных в директории dvm_sys появятся следующие поддиректории:
bin/ |
- |
выполняемые файлы DVM-системы; |
demo/ |
- |
копия демонстрационных программ для проверки правильности установки DVM-системы; |
lib/ |
- |
библиотека программ системы поддержки; |
par/ |
- |
параметры системы поддержки; |
user/ |
- |
файлы, копируемые в директории пользователей. |
Если при ее выполнении возникнут какие-то ошибки, то следует проанализировать файлы
logfile.txt, которые появятся в поддиректориях /src директорий rts, cdvm, fdvm, driver, pppa, predictor.DVM-система готова к использованию!
Теперь каждый пользователь может скопировать в свою директорию с DVM-программами все файлы из директории
dvm_sys/user и начинать работать с DVM-системой.3 Проверка правильности установки DVM-системы
Для проверки правильности установки DVM-системы рекомендуется сначала запустить стандартную процедуру тестирования. Для этого в директории
demo надо выполнить команду:alltest
Эта команда выполняет следующие шаги:
инициирует стандартную процедуру тестирования, запускающую программы
сравнивает результаты работы каждой программы с эталонными, поставляемыми вместе с системой в файлах
запускает предиктор (предсказатель производительности выполнения DVM-программ) для программы
Названия шагов и результаты сравнения выдаются пользователю на экран. Если результаты на всех шагах совпали, на экран выдается сообщение:
… end of testing DVM …
означающее, что DVM-система установлена правильно.
Если же некоторый шаг закончился с ошибкой, то на экран выдается приглашение, позволяющее пользователю либо прервать (Ctrl+C), либо продолжить (любая клавиша) выполнение теста.
Если результаты на каком-либо шаге не совпали, необходимо, прежде всего, проверить правильность осуществления всех шагов данной инструкции. Подробную информацию об используемых стандартной тестовой процедурой режимах запуска DVM-программ, а также обо всех диагностических сообщениях DVM-системы можно найти в следующих документах:
“Отладка DVM-программ. Руководство пользователя”;
“Компилятор C-DVM. Руководство пользователя”;
“Компилятор Fortran-DVM. Руководство пользователя”.
4 Запуск демонстрационных программ
Директория
demo содержит набор программ на языках C-DVM и Fortran-DVM, демонстрирующих возможности DVM для реализации различных алгоритмов:gauss_c.cdv, gausf.fdv, gaus_wb.cdv, gauswh.fdv – алгоритм метода исключения Гаусса;
jac1d.cdv, jac.fdv, jac2d.cdv, jacas.fdv, jacross.cdv, sor.fdv – алгоритм Якоби;
mgrid.cdv – многосеточная задача.
redb.cdv, redbf.fdv – "красно-черная" последовательная верхняя релаксация;
tskcdv, tsk_lp.cdv, tsk_ra.cdv, task2j.fdv, tasks.fdv, taskst.fdv – многообластные задачи.
(см. Fortran-DVM. Описание
языка. Приложение 2. Примеры программ.
C-DVM. Описание языка.
Приложение 1. Примеры программ.)
В директории demo можно запустить любую из перечисленных программ. Например для запуска jac1d.cdv и jac.fdv нужно выполнить команды:
dvm c jac1d.cdv - компиляция jac1d.cdv (C-DVM);
dvm run 2 2 jac1d - выполнение jac1d на матрице процессоров 2х2;
dvm f jac.fdv - компиляция jac.fdv (Fortran-DVM);
dvm run 4 1 jac - выполнение jac1d на матрице процессоров 4х1.
Команда alldemo последовательно выполняет все демонстрационные программы в различных отладочных режимах.