DVM-система разработки параллельных программ
Руководство по установке

* Март, 2010 *


- дата последнего обновления 16.03.10 -


Содержание

1. Установка DVM-системы в OC Windows

    1.1 Установка системы
    1.2 Проблемы, возникающие при установке DVM-системы   
            1.2.1  Недостаточно памяти для переменных среды

2.  Установка DVM-системы в OC UNIX
3.
 Проверка правильности установки DVM-системы
4.
 Запуск демонстрационных программ


1. Установка DVM-системы в OC Windows

1.1 Установка системы

DVM-система поставляется  в виде исходных текстов (файл dvmNNN.tgz). NNN в имени файла - номер версии системы.  При установке осуществляется компиляция всех компонентов системы и настройка на конфигурацию компьютера. Различные версии системы можно найти на сайте www.keldysh.ru/dvm.

Для установки DVM-системы необходимы:

Для установки варианта DVM-системы выполните следующие шаги.

  1.  Установите одну из реализаций стандарта MPI. DVM-система проверялась на MPICH2 32-х разрядной реализации  MPI-2, созданной в Арагонской национальной лаборатории (США) ( http://www.mcs.anl.gov/research/projects/mpich2/).

    При последующих установках новых версий DVM-системы (если это не оговорено особо в данной инструкции) этот шаг можно опустить.

  2. Создайте директорию для версии DVM-системы (например, DVM_NNN, где NNN – номер выбранной Вами версии);

  3. Перепишите туда необходимые файлы из следующего списка:

    dvmNNN.tgz

    -

     DVM-система в виде исходных текстов;

    dvmUSRrhtm.tar.gz

    -

    документация пользователя на русском языке;

    dvmSYSrhtm.tar.gz

    -

    документация разработчика на русском языке;

    dvmUSRehtm.tar.gz

    -

    документация пользователя на английском языке;

    dvmSYSehtm.tar.gz

    -

    документация разработчика на английском языке;

     
  4. Распакуйте файл 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*

    -

    файлы поддержки инсталляции и деинсталляции;

    win_size_5.txt

    -

    контрольный файл разархивирования.

    Программа распаковки должна обеспечить представление текстовых файлов в формате Windows. Контроль за этим осуществляется с помощью файла win_size_5.txt – его размер в среде Windows после распаковки должен быть равен 5 байт. В противном случае примените другой инструмент для разархивирования.

  5. Распакуйте один или несколько файлов с документацией, в результате чего дополнительно появится поддиректория dvm_sys\doc.

  6. Выполните настройку на установленные на Вашем компьютере компиляторы и MPI-библиотеку. Этот пункт можно пропустить, если Вы используете одну из известных программе установки реализаций MPI (например MPICH2), находящуюся на стандартномместе и известные программе установки компиляторы. Список и стандартное местоположение этих компиляторов и MPI-библиотеки определены в файле dvminstall.bat в виде закомментаренных строк, определяющих переменные MPI_HOME (для MPI-библиотеки), SETVARSVC (для С-компилятора) и SETVARSFTN (для Fortran-компилятора).

    Если настройка на компиляторы и на MPI-библиотеку необходима, то в файле dvminstall.bat

Замечание1. Если ни одна из переменных SETVARSVC и SETVARSFTN не задана, то программа установки пытается определить наличие компиляторов (известных ей) в стандартных местах (на диске С). Начинается поиск с компиляторов, имеющих наибольший номер версии. В случае успешного поиска выдается соответствующая информация. Если не обнаружен компилятор с языка Fortran, то выдается соответствующее сообщение и установка может быть продолжена для работы без Fortran-DVM программ. Если не обнаружен компилятор с языка Си, то выдается соответствующее сообщение и установка прекращается.

  1. В директории 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.

  2. DVM-система готова к использованию!

Теперь каждый пользователь может скопировать в свою директорию с DVM-программами все файлы из директории dvm_sys\user и начинать работать с DVM-системой.

1.2   Проблемы, возникающие при установке DVM-системы

1.2.1  Недостаточно памяти для переменных среды

Возможно, во время первой инсталляции DVM-системы или во время выполнения DVM-программы на экране появится сообщение:

“Недостаточно памяти для переменных среды”
(“Out of environment space”)

В этом случае следует увеличить эту память одним из трех следующих способов (3072 - минимальный размер памяти для переменных среды DVM-системы):

Свойства -> Память -> Переменные среды = 3072
Свойства -> Память -> Переменные среды = 3072

Рекомендуется использовать первые два способа, т.к. это нужно проделать только один раз.

2. Установка DVM-системы в OC UNIX

DVM-система предполагает наличие двух машин - инструментальной (хост-компьютера) и параллельной. В качестве инструментальной может выступать один из узлов параллельной машины. На инструментальной машине осуществляется подготовка и запуск на выполнение параллельных программ, анализ и прогнозирование выполнения параллельной программы.

Установка DVM-системы выполняется на инструментальной машине в выделенной DVM-директории и состоит из подготовки

Для установки DVM-системы необходимы:

Для установки DVM-системы выполните следующие шаги.

  1. Выберите или создайте директорию для данной (NNN-ой) версии DVM-системы (например, DVM_NNN);

  2. Перепишите туда необходимые файлы из следующего списка:

    dvmNNN.tgz

    -

     DVM-система;

    dvmUSRrhtm.tar.gz

    -

    документация пользователя на русском языке;

    dvmSYSrhtm.tar.gz

    -

    документация разработчика на русском языке;

    dvmUSRehtm.tar.gz

    -

    документация пользователя на английском языке;

    dvmSYSehtm.tar.gz

    -

    документация разработчика на английском языке;

     

  3. Распакуйте файл dvmNNN.tgz, выполнив, например, команду:

  4. 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*

    -

    файлы поддержки инсталляции и деинсталляции.

     

  5. Аналогично распакуйте один или несколько файлов с документацией, в результате чего дополнительно появится поддиректория dvm_sys/doc.

  6. В файле dvminstall скорректируйте параметры, определяющие вызовы требуемых инструментов и компиляторов для хост-компьютера и параллельной машины:

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.
Параметры задаются в формате команды
           setenv <ПАРАМЕТР> <значение>
Если значение состоит из нескольких слов, разделенных пробелами, то все значение должно быть взято в кавычки.

Замечание 2.
Если вызов компиляторов и линкеров для параллельной машины (переменные
PCC, PFORT, PLINKER, PFLINKER) осуществляется стандартными скриптами или программами, обеспечивающими настройку на нужную версию MPI-библиотеки (например mpicc, mpif77), то переменные MPI_LIB, MPI_INC корректировать не требуется. Переменная MPI_BIN может быть использована как префикс при задании переменных PCC, PFORT, PLINKER, PFLINKER, а также в скрипте запуска DVM-программ.

Замечание 3.
После компиляции DVM-программа представляет собой обычную MPI-программу, но требующую для работы некоторую входную информацию. Запуск DVM-программы командой dvm run … состоит из двух этапов. На первом этапе готовится входная информация, необходимая для выполнения DVM-программы. На втором этапе выполняется команда (или скрипт), заданная в переменной dvmrun. В качестве первого параметра этой команде (или скрипту) передается количество процессоров, необходимых для выполнения. Таким образом, если на первом этапе выполняются действия (готовится входная информация), необходимые для выполнения DVM-программы на любой платформе, то на втором должна учитываться специфика запуска программ на конкретной установке.
В
DVM-системе имеются скрипты, учитывающие такие особенности систем запуска программ для конкретных платформ, как

Эти скрипты находятся в директории dvm_sys/driver/src. Их имена указаны в файлах параметров для соответствующих платформ (см. Замечание 4), как значения переменной dvmrun. В процессе инсталяции скрипт, указанный в переменной dvmrun копируется в директорию dvm_sys/bin, откуда и будет выполняться при запуске DVM-программ.

При установке DVM-системы на новой платформе возможны следующие варианты организации запуска DVM-программ:

  1. Переменной dvmrun присваивается значение пусто ( setenv dvmrun ). В этом случае для запуска DVM-программы сначала должна быть выполнена команда dvm run <grid> , по которой будут созданы необходимые файлы, а затем запускать DVM-программу, как запускается MPI-программа на данной установке. (Здесь <grid> - виртуальная решетка процессоров, на которой должна выполняться DVM-программа). Необходимо иметь ввиду, что в текущей директории (где будет выполнятся программа) должны быть файлы, сформированные командой dvm run <grid>.

  2. В переменной 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]

  3. В переменной dvmrun задается один из скриптов (возможно подкорректированный), имеющийся в DVM-системе и/или находящийся в директории      dvm_sys/driver/src.

  4. Пишется новый скрипт (с учетом всего выше изложенного). В этом случае в переменной dvmrun нужно либо указать его полное имя, либо простое, но разместить его в доступном для исполнения месте (директория должна присутствовать в path).

В случаях 2, 3, 4 запуск DVM-программ осуществляется стандартным образом, как описано в соответствующих документах по DVM-системе.

Замечание 4.
В поддиректории
platforms находятся файлы, содержащие значения параметров для конкретных платформ, на которых DVM-система была установлена или апробирована. Для установки DVM-системы на такой платформе достаточно в файле dvminstall указать имя соответствующего файла с параметрами в команде

      setenv PLATFORM <имя файла>

(или раскомментировать соответствующую строку, имеющуюся в dvminstall). В этом случае, все зависящие от платформы переменные будут скорректированы в соответствии с имеющимися в указанном файле значениями.

  1. В директории 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.

  2. DVM-система готова к использованию!

Теперь каждый пользователь может скопировать в свою директорию с DVM-программами все файлы из директории dvm_sys/user и начинать работать с DVM-системой.

3  Проверка правильности установки DVM-системы

Для проверки правильности установки DVM-системы рекомендуется сначала запустить стандартную процедуру тестирования. Для этого в директории demo надо выполнить команду:

alltest

Эта команда выполняет следующие шаги:

Названия шагов и результаты сравнения выдаются пользователю на экран. Если результаты на всех шагах совпали, на экран выдается сообщение:

… end of testing DVM …

означающее, что DVM-система установлена правильно.

Если же некоторый шаг закончился с ошибкой, то на экран выдается приглашение, позволяющее пользователю либо прервать (Ctrl+C), либо продолжить (любая клавиша) выполнение теста.

Если результаты на каком-либо шаге не совпали, необходимо, прежде всего, проверить правильность осуществления всех шагов данной инструкции. Подробную информацию об используемых стандартной тестовой процедурой режимах запуска DVM-программ, а также обо всех диагностических сообщениях 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 последовательно выполняет все демонстрационные программы в различных отладочных режимах.