Руководство по установке mpich

William Gropp и Ewing Lusk
перевод Балуева А.Н. (мат-мех факультет СПбГУ)

Оглавление

  • 10. Библиотека MPE.

    10. Библиотека MPE.

    В начало страницы

    Библиотека Mpe может быть конфигурирована и установлена как расширение вашей текущей реализации MPI или автоматически, во время процессов конфигурации и построения mpich. Единственное требование для этого – конфигурация с специальными переключателями реализации MPI. В настоящее время мы конфигурировали библиотеки mpe для работы с MPICH, LAM'S MPI, SGI's MPI, IBM's MPI, и CRAY's MPI (последняя еще не проверена до конца).

    10.1 Параметры конфигурации

    В начало страницы

    Имеется три типа параметров или переключателей конфигурации:

    1. Переключатели реализации MPI (обязательные)

    2. Настраиваемые флажки конфигурации (обязательные/выборочные)

    3. Пользовательские параметры переключатели/флажки (выборочные)

    Печатая ./configure –help из верхнего уровня каталога mpe, можно вывести список флажков/переключателей.

    Вот переключатели спецификации реализации MPI:

    -with-mpich=DIR указывает каталог верхнего уровня, где установлена MPICH (версия 1.0.13 или позднейшие).

    -with-mpichdev=subdir определяет подкаталог архитектуры/устройства, которыми вы хотите пользоваться.

    -with-lam=DIR определяет каталог верхнего уровня, где была установлена LAM'S MPI

    -with-sp определяет собственную реализацию IBM POE/MPI

    -with-sgi определяет употребление собственной реализации SGI MPI

    -with-sgi64 специфицирует использование собственной реализации SGI MPI, побуждая ее к компиляции в режиме 64 bit

    -with-cray специфицирует использование собственной реализации Cray MPI

    Если вам нужно конфигурировать mpe с реализацией MPI, отличной от перечисленных, вы можете посмотреть, как в `configure.in' в каталоге mpe определяется, какой компилятор, библиотеки и пр. используется для указанных выше реализаций MPI. Тогда вы сможете добавить собственную секцию реализации MPI к `configure.in'. Обязательно напечатайте autoconf для создания нового сценария конфигурации (сценарий конфигурации mpe был создан с употреблением autoconf 2.12). Вам также потребуется добавить переключатель реализации MPI. Это достигается с помощью макро AC ARG WITH.

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

    Групповые переключатели реализации MPI:

    -with-mpiinc=MPI INC указывает каталог для MPI include, например, –I/pkgs/MPI/include

    -with-mpilibs=MPI LIBS определяет профилирование MPI и библиотеки MPI. Например, –L$MPI LIB DIR –lfmpich –lpmpich –lmpich

    Приведем список наиболее употребительных групповых флажков:

    -prefix=DIR определяет место установочного каталога для сценария `mpeinstall' При конфигурации с MPICH это должен быть тот же установочный каталог, который как параметр участвует в конфигурации mpich или в сценарии `mpiinstall' в каталоге `mpich/util'. Если он опущен здесь, но –predix был указан как параметр в конфигурации mpich, то этот каталог автоматически будет конфигурирован. Сценарий `mpeinstall' установит в DIR только требуемые библиотеки и файлы include вместе с небольшим количеством примеров. (См. раздел 10.4)

    -libdir=DIR. Определяет каталог верхнего уровня, где будут установлены библиотеки mpe. Если такого каталога нет, он будет создан. Этот флажок обязателен при не использовании MPICH и безразличен, если MPICH используется (-libdir заменяется на –mpichdev).

    -bindir=DIR. Имеет значение только при установке jumpshot вместе с библиотекой mpe. Этот каталог будет передан конфигурации jumpshot и будет там, где будет установлен исполнимый jumpshot. При конфигурации с MPICH это конфигурируется автоматически. Если нет и этот флажок опущен, этим каталогом будет `libdir/../bin'. Если он не существует, он будет создан.

    -x-includes=DIR. Это дополнительный флажок, показывающий, что X есть файлы include в DIR. Если опущен, конфигурация старается найти их.

    -x-libraries=DIR необязательный флажок, библиотечные файлы X находятся в DIR. Если опущен, конфигурация сама пытается найти их.

    Переключатели параметров пользователя:

    -enable-echo включает строгое эхо. По умолчанию выключен.

    -enable-mpe graphics. Этот переключатель позволяет строить графические подпрограммы mpe. Если выключен, подпрограммы реализующие графику X11 не будут построены. Это нужно для систем, которые либо не имеют файлов include для Х11, либо не поддерживают графику X11. По умолчанию enable=yes.

    -enable-f77. Этот переключатель позволяет компилировать подпрограммы, которые требуют какой-нибудь компилятор с Фортран. При конфигурации с MPICH конфигурация выберет для вас подходящий из каталога mpich верхнего уровня. Но это можно и подавить. По умолчанию enable=yes.

    -enable-debug Этот переключатель включает флажки отладочных и диагностических сообщений в MPE и код SLOG-API. По умолчанию enable=no.

    -enable-jumpshot. Этот переключатель разрешает конфигурировать графический инструментарий jumpshot. По умолчанию enable=yes. Если этот параметр задействован и вы не конфигурируете с MPICH, то должны также дать путь в каталог где jumpshot уже установлен (-with-jumpshot home).

    -enable-buildingmpi. Этот переключатель показывает, что MPE строится как часть большей постройки MPICH. Это выключает проверку существования библиотек MPI. Этот переключатель не обязателен.

    -with-tcldir=TCL DIR. Этот переключатель показывает, что tcl размещается в TCL.DIR. Это может быть только версия 7 и TCL.DIR должен иметь `lib/libtcl.a' и `include/tcl.h'. Эти файлы используются только для nupshot. Если этот переключатель опущен, конфигурация будет пытаться найти эти файлы в каталоге mpe.

    -with-tkdir=TK DIR. Этот переключатель указывает, что tk помещено в TK.DIR. Это может быть только версия 3, если вы хотите использовать nupshot, и TK.DIR должен иметь `lib/libtcl.a' и `include/tk.h'. Это может быть то же что TCL.DIR. Если переключатель пропущен, конфигурация будет искать в каталоге mpe эти файлы.

    -with-wishloc=WISHLOC. Этот переключатель указывает имя исполнимой tcl/tk wish. Если переключатель пропущен, конфигурация будет пытаться найти в каталоге mpe эту версию. Используется только для nupshot и upshot. Замечание: так как tcl и tk продолжают изменяться непредсказуемым образом, мы в конце концов прекратим поддержку всяких средств, использующих tcl/tk. Последние версии upshot, jumpshot написаны на JAVA.

    -with-jumpshot home=JUMP DIR. Этот переключатель указывает путь в каталоге верхнего уровня к jumpshot. При конфигурации с MPICH этот параметр автоматически конфигурируется по умолчанию. Однако его можно подавить. Если конфигурируете без MPICH, нужно указать JUMP.DIR чтобы конфигурировать jumpshot вместе с библиотекой mpe.

    -with-jumpshot opts=JUMP OPTS. Этот переключатель позволяет вам передавать нужные параметры в конфигурацию jumpshot. К несчастью, из-за способа передачи процессом autoconf 2.12

    нескольких аргументов по `AC.ARG.WITH', только 1 опция может быть передана конфигурации jumpshot. Если требуются больше, конфигурируйте jumpshot отдельно (см. раздел 10.2). Чтобы посмотреть параметры jumpshot, перейдите в верхний каталог jumpshot и наберите ./configure –help или прочтите INSTALL в этом каталоге.

    -with-slog home=SLOG HOME. Этот переключатель указывает путь к каталогу верхнего уровня, в котором установлен SLOG API. При конфигурации SLOG API с MPICH параметр автоматически конфигурируется по умолчанию. Однако здесь его можно подавить.

    -with-flib path leader=FLIB PATH LEADER. Этот параметр показывает, как специфицировать путь к библиотеке Fortran. Он конфигурируется по умолчанию при конфигурации с MPICH.

    -with-f77 extra flag=F77 EXTRA FLAG. Переключатель используется для флажков Фортрана, которые используются при компиляции, а не при компоновке. В настоящее время это используется для компилятора Absoft –f option. Если конфигурируют с MPICH, это будет для вас определено.

    -with-cflags=MPE CFLAGS. Это выборочный переключатель для пользователя, передающий дополнительные CFLAGS компилятору CC.

    -with-fflags=MPE FFLAGS. Выборочный переключатель пользователя, передающий дополнительные FFLAGS компилятору с Fortran.

    10.2 Инструкции по установке MPE.

    В начало страницы

    Как было отмечено в предыдущем разделе, библиотека mpe может быть установлена как часть процессов конфигурации и построения (make) реализации MPI. В этом разделе 10.2 описываются инструкции и примеры для каждого типа установки.

    10.2.1 Конфигурирование библиотеки mpe как часть конфигурации mpich и процессов установки.

    В начало страницы

    При такой установке mpe не нужны ни переключатели ни флажки. Конфигурация соберет в верхнем уровне каталога mpich необходимую информацию и передаст ее конфигурациям в каталогах mpe и jumpshot. Если не заданы переключатели и флажки, то библиотека mpe и графическое средство jumpshot будут конфигурироваться автоматически. Однако, пользователь может при желании подавить это, конфигурируя MPICH со следующими параметрами:

    -mpe.opts=MPE.OPTS –jumpshot.opts=JUMP.OPTS

    где MPE OPTS есть один или больше выборов, описанных в 10.1, а JUMP OPTS есть один из вариантов описанных в разделе 11.2.1. Многократное употребление –mpe.opts допускается для указания нескольких опций для конфигурации MPE.

    Пример 1: Конфигурировать MPICH с библиотекой mpe и jumpshot

    На верхнем уровне каталога mpich

    1) ./configure !mpich options?

    2) make

    Пример 2: Конфигурировать MPICH с tcldir и tkdir заданными как параметры конфигурации но верхнем уровне каталога mpich

    1) ./configure !mpich options? «

    -mpe.opts=-with-tcldir=!path of tcldir? « –mpe.opts=-with-tkdir=!path of tkdir?

    2) make

    Example 3: Конфигурировать MPICH, библиотеку mpe и jumpshot с установочным каталогом на верхнем уровне каталога mpich

    1) ./configure !mpich options? –prefix=!install directory?

    2) make

    Это полезно, если хотите установить mpich, библиотеку mpe и jumpshot в общедоступном месте, чтобы и другие могли ими пользоваться. Установите все 3 пакета в установочную библиотеку, наберите make install в каталоге mpich верхнего уровня.

    Example 4: Конфигурировать MPICH с библиотекой mpe и без jumpshot.

    На верхнем уровне каталога mpich

    1) ./configure !mpich options? –mpe.opts=-enable-jumpshot=no

    2) make

    Конфигурирование jumpshot активизируется через конфигурацию mpe. Таким образом, способ, при котором исключение конфигурации jumpshot происходит через параметр конфигурации для mpe. Обращайтесь к разделу 11.2.2 за инструкцией об отдельной установке jumpshot.

    Пример 5: Конфигурирование MPICH без библиотеки mpe и jumpshot

    На верхнем уровне каталога mpich

    1) ./configure !mpich options? –nompe 2) make

    Нужно отметить, что здесь после того как mpich конфигурирована, можно конфигурировать библиотеку mpe и jumpshot без реконфигурации mpich. Или, если нужно реконфигурировать mpich, часто не нужно реконфигурировать библиотеку mpe или jumpshot.

    10.2.2 Конфигурация библиотеки mpe как части существующей реализации MPI. При такой установке mpe необходим специальный переключатель реализации MPI. Итак, если реализация MPI не есть MPICH, то флажок –libdir обязателен.

    Пример 1: Конфигурировать mpe с SGI's MPI и без jumpshot

    В каталоге mpe верхнего уровня

    1) ./configure –with-sgi –libdir=!directory path of libdir?

    или ./configure –with-sgi64 –libdir=!directory path of libdir?

    2) make

    Вследствие не указания –with-jumpshot home (и не использования MPICH) jumpshot не конфигурируется.

    Пример 2: Конфигурировать mpe с IBM's MPI и jumpshot

    На верхнем уровне каталога mpe

    1) ./configure –with-sp –libdir=!directory path of libdir? «

    -with-jumpshot.home=!directory path of jumpshot?

    2) make

    Вследствие не указания –bindir=DIR исполнимая программа jumpshot будет помещена в `libdir/../bin'. Если желательно указать определенный каталог bin, то конфигурируйте так:

    В каталоге верхнего уровня mpe

    1) ./configure –with-sp –libdir=!directory path of libdir? « –with-jumpshot.home=!directory path of jumpshot? « –bindir=!directory path of bindir?

    2) make

    Пример 3: Конфигурировать mpe при существующей реализации MPICH и с jumpshot.

    В каталоге верхнего уровня mpe

    1) ./configure –with-mpich=!directory path of MPICH? « –with-mpichdev=!library subdirectory for MPICH?

    2) make

    Если ваша реализация MPICH имеет подкаталог `mpich/jumpshot', не нужно конфигурировать с параметром –with-jumpshot home. Если нет, то он необходим для конфигурирования.

    Пример 4: Конфигурировать mpe с SGI's MPI и передать параметры к конфигурации jumpshot.

    В каталоге mpe верхнего уровня

    1) ./configure –with-sgi –libdir=!directory path of libdir? « –with-jumpshot.home=!directory path of jumpshot? « –with-jumpshot.opts=!jumpshot option? 2) make

    10.3 Примеры программ MPE

    В начало страницы

    Как отмечалось выше, библиотека mpe компонуется из трех профилирующих библиотек. Каждая реализация MPI требует несколько отличного способа привязки этих библиотек. Во время конфигурации определяются пути связи и нужные библиотеки и присваиваются переменным. Эти переменные подставлены в Makefile в каталоге `mpe/contrib/test'. Вот список этих переменных:

    LOG LIB = link path необходимо для связи с библиотекой logging,

    TRACE LIB = link path необходимо для связи с библиотекой tracing ,

    ANIM LIB = link path необходимо для связи с библиотекой animation ,

    FLIB PATH = link path необходимо для связи программ на Фортране с библиотекой logging.

    Во время процесса make небольшая Cи-программа `cpi' (в каталоге `mpe/contrib/test') связывается с каждой из перчисленных выше библиотек. При выходе из make выдается сообщение об результатах каждого проделанного теста связи. Точно так же каталоге `mpe/contrib/test' небольшая Fortran-программа `fpi' будет связана с библиотекой logging с помощью FLIB PATH. Результат этого теста связи также включается в выход make. Если все тесты успешны, то эти библиотечные пути будут использоваться также в ваших программах.

    10.4 Установка MPE.

    В начало страницы

    Сценарий `mpeinstall' создается во время конфигурации. Если конфигурируют с MPICH, сценарий `mpiinstall' активизирует сценарий `mpeinstall'. Однако, `mpeinstall' может быть использован сам по себе. Это делается только по выбору и используется только если вы хотите установить библиотеку mpe в общедоступное место, где ею могут пользоваться другие. Установка будет состоять из подкаталогов include, lib, bin, и example. Если jumpshot был конфигурирован, сценарий `mpeinstall' поместит исполнимый jumpshot в каталог bin.


<<< Оглавление Страницы: 7  8 >>>