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

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

Оглавление

Краткий обзор

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

MPI ( Message-Passing Interface, т.е. интерфейс для передачи сообщений) представляет стандартные спецификации для библиотек передачи сообщений. Mpich представляет собой переносимую реализацию полных спецификаций MPI для широкого класса параллельных вычислительных средств, включающих кластеры рабочих станций и массивно-параллельных процессоров (MPPs). Mpich содержит, наряду с самими библиотеками MPI, программные средства для работы с программами MPI. Программные средства включают в себя переносимый стартовый механизм, несколько профилирующих библиотек для изучения производительности программ MPI и X-интерфейс ко всему инструментарию. В этом руководстве объясняется, как компилировать, тестировать и устанавливать mpich и относящиеся к ней инструменты.

Этот документ описывает, как получить и установить mpich 12, переносимуюреализацию MPI – стандартов передачи сообщений. Детали использования

реализации mpich даются в отдельном пользовательском руководстве по mpich 9.

В версия 1.2.1 mpich исправлены ошибки и расширены возможности переноса, особенно для основанных на LINUX кластеров.

Новое в 1.2.1:

Улучшена поддержка смешанных компиляторов Fortran и Fortran 90. В частности, единая версия MPICH может быть теперь приспособлена для использования нескольких различных компиляторов с Fortran; см. детали в руководстве по установке (в doc/install.ps.gz).

Использовать Cи-компилятор для программ MPI, которые используют MPICH, отличный от того, на котором был построен действующий MPICH, теперь гораздо легче; см. руководство по установке.

Значительные усовершенствования сделаны в системе демонов MPD, которые обеспечивают быстрый старт задач MPICH, в управлении stdio, в общем параллельном отладчике, основанном на gdb. См. файл README в каталоге mpich/mpid/mpd и Руководство пользователя mpich для информации о том, как использовать систему MPD вместе с mpich.

Версия NT для MPICH была затем усовершенствована и доступна отдельно; см. страницу для выгрузки MPICH http://www.mcs.anl/gov/mpi/mpich/download.html.

Библиотека MPE для входа в систему и визуализации программ значительно усовершенствована. См. детали в файле mpe/README.

Включена новая версия ROMIO, 1.0.3. См. детали в romio/README. Новая версия интерфейса C++ из университета Notre Dame также включена. Некоторые проблемы и ошибки, связанные с данным выпуском, документированы в файле mpich/KnownBugs. Имеется FAQ (Часто Возникающие Вопросы) по адресу http://www.mcs.anl.gov/mpi/mpich/faq.html. Смотрите туда, если получили при попытках запустить MPICH сообщения: «permission denied», «connection reset by peer», или «poll: protocol failure in circuit setup».

Имеется статья о доступном jumpshot (средство получения списка переходов) по адресу ftp://ftp.mcs.anl.gov/pub/mpi/jumpshot.ps.gz Статья об MPD есть по адресу ftp://ftp.mcs.anl.gov/pub/mpd.ps.gz.

Следующие особенности были новыми в in 1.2.0:

Все удобства MPI 1.2,включая отмену посланий

IMPI (Совместимый MPI 3) стиль управления потоками Версия Windows NT теперь доступна как открытый источник. Процесс установки для этой версии – другой. Настоящее руководство охватывает только версию Unix для mpich. Поддерживаются SMP-кластеры в mpirun.

Модули MPI для Fortran 90 (фактически два, см. раздел 4.4.4).

Поддержка для MPI.INIT.THREAD (но только для MPI.THREAD.SINGLE)

Поддержка для установок VPATH-стиля, вместе с установочным процессом и выбором имен каталогов, который ближе к подходу, рекомендованному в GNU

Новый, расширяемый формат файлов регистрации SLOG, для употребления с регистрационными средствами MPE. Файлы SLOG читаются новой версией Jumpshot, включенной в этот выпуск.

Обновленный ROMIO, новое устройство для сетевых кластеров, подобное p4, но основанное на демонах и поэтому обладающее многими полезными свойствами, включая быстрый старт. Детали см. в Руководстве пользователя.

Следующие свойства являются новыми в 1.1.1:

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

Подсистема ROMIO реализует значительную часть стандарта MPI-2 для параллельного ввода/вывода. Детали о том, какие типы файловых систем на нем исполняются и текущих ограничениях см. в документах в romio/doc. ROMIO был реализован в Аргонне Такуром Ралеевым (Rajeev Thakur at Argonne). Правила стандарта MPI-2 для C++ доступны для MPI-1 functions. Их реализовали Andrew Lumsdaine и Jeff Squyres в Notre Dame.

Имеется новое устройство Globus2, заменяющее прежнее Globus. Его реализовали Nick Karonis из Northern Illinois University и Brian Toonen из Argonne National Laboratory.

Новое средство визуализации программ, названное Jumpshot, можно использовать в качестве альтернативы к программам upshot и nupshot. Главные реализаторы этого средства – Omer Zaki из Argonne и Angelo State University.

1 Быстрое начало

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

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

1. Если Вы имеете gunzip, возьмите `mpich.tar.gz'; в противном случае возьмите `mpich.tar.Z' из http://www.mcs.anl.gov/mpi/mpich/download или по анонимному ftp из ftp.mcs.anl.gov в каталоге pub/mpi. (Если этот файл слишком велик, постарайтесь получить куски из pub/mpi/mpisplit и соединить их вместе.)

2. gunzip –c mpich.tar.gz – tar xovf (или zcat mpich.tar.Z – tar xovf –)

3. cd mpich

4. ./configure

Это будет попытка выбрать подходящие по умолчанию для вас архитектуру и устройства. Если это – не то, что вы хотели, смотрите раздел 4. Еще лучше выбрать каталог для установки в него mpich и конфигурировать mpich с этим каталогом. Например:

./configure –prefix=/usr/local/mpich-1.2.1 5.

make ?& make.log

(в синтаксисе Си-оболочки). Это может помочь; в зависимости от нагрузки на вашу систему и на ваш файловый сервер, это может занять от 10 минут до часа или более.

6. (Выборочно) Для работы на сетях рабочих станций или на единственной рабочей станции, отредактируйте файл

mpich/util/machines/machines.xxx

(где xxx означает имя mpich' на вашей машинной архитектуре; вы его опознаете), чтобы отразить ваши локальные хост-имена для ваших машин. Если захотите, Вы можете пропустит этот шаг, потому что по умолчанию пять копий машины, на которой Вы установили impich, будут там для начала. На параллельных машинах этот шаг не нужен. См. файл README в каталоге mpich/util/machines для описания формата.

7. (Выборочно) Составьте и пропустите простую тестовую программу:

cd examples/basic

make cpi

ln –s ../../bin/mpirun mpirun

./mpirun –np 4 cpi

В этом месте вы должны запустить некоторую MPI-программу на вашей системе.

8. (Выборочно) Пропустите поставку через ее полный приемочный тест (см. раздел 8 о том, как это сделать).

9. (Выборочно) Постройте остальное окружение MPICH: для устройства ch.p4 использование сервера надежности (см. раздел 6.1.2) может ускорить запуск заданий; вы можете устроить это посредством make serv.p4 (serv.p4 есть новая версия сервера надежности P4, который входил в вариант mpich до 1.2.0.)

Программа nupshot есть более быстрая версия upshot, но она требует версию 3.6 исходного кода tk. Если Вы имеете этот пакет, Вы можете построить

nupshot c помощью make nupshot.

10. (Выборочно) Если Вы хотите установить mpich на такое место, где им могут пользоваться другие лица, то воспользуйтесь make install или bin/mpiinstall, чтобы установить mpich в каталог, указанный для конфигурации в параметре –prefix. Установка будет состоять из каталогов include, lib, bin, sbin, www, и man, и из небольшого каталога примеров, откуда пользователь может копировать и модифицировать Make-файлы. Если Вы хотите убрать установку, можно выполнить сценарий

sbin/mpiuninstall.

11. (Выборочно) В этом месте Вы можете объявить своим пользователям, как компилировать и исполнять программы MPI с помощью системы, которую Вы только что установили в /usr/local/mpi (или в каком-то другом месте). См. раздел 14 относительно команд, которые можно использовать. Они могут также копировать Make-файлы из /usr/local/mpi/examples и приспосабливать их для своих целей.

В следующих разделах мы снова рассмотрим эти шаги более подробно и опишем другие аспекты поставки mpich, которыми Вы можете воспользоваться.

Подробное Руководство пользователя 9, содержащееся в сжатом postscriptв подкаталоге doc, содержит много информации о построении и использовании

программ MPI с mpich. Руководство по установке и Руководство пользователя также можно найти в Web по http:// www.mcs.anl.gov/mpi/mpich/docs.html.

2. Получение и распаковку поставки mpich

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

Получение и распаковку поставки mpich можно произвести с помощью анонимного ftp с сайта ftp.mcs.anl.gov. Войдите в каталог pub/mpi и получите файл mpich.tar.gz. Имя этого файла показывает связь с самой последней версией mpich. В настоящее время его размер 4 мегабайта. Он хранится в форме gzipped tar, его можно распаковать командой

gunzip –c mpich.tar.gz – tar xovf

Если у Вас нет gunzip, а есть uncompress, то Вы можете вместо этого файла взять mpich.tar.Z и воспользоваться или программой

zcat mpich.tar.Z – tar xovf или

uncompress mpich.tar.Z

tar xvf mpich.tar

Это создаст один каталог с именем mpich, содержащий в разных подкаталогах весь комплект поставки, включая все исходные коды, некоторую документацию, (включающую настоящее Руководство), справочник man pages, окружение mpich, описанное в разделе 14 и примеры программ. В частности, Вы получите следующие файлы и каталоги:

COPYRIGHT. Положения по авторскому праву. Эти коды свободны, но не public domain. Они – собственность Чикагского университета и Mississippi State University.

Makefile.in Трафарет для `Makefile', который будет выдан при конфигурации.

MPI-2-C++ Система C++ из Notre Dame. Включает ограничения C++ для функций MPI-1.

README Основная информация и инструкции для конфигурирования.

aclocal.m4 Используется для построения `configure' из `configure.in'; не нужен для большинства установок.

Файл aclocal tcl.m4 включается посредством aclocal.m4.

ccbugs Каталог для программ, которые тестируют Cи-компилятор во время конфигурации, чтобы можно было скомпилировать систему.

configure Сценарий, который Вы выполняете для создания Make файлов всюду в системе.

configure.in Вход в autoconf, который проводит конфигурирование.

doc Различный инструментарий для приготовления документации, включая настоящее

examples Каталоги, содержащие дальнейшие каталоги примеров программ MPI.

Отметим в частности примеры для первых проб, тесты, последовательности тестов для упражнений с mpich, и perftest, содержащий код для эталонного тестирования.

include Библиотеки include, как пользовательские, так и системные.

bin Содержит программы и исполнимые сценарии, такие как mpicc и mpirun, используемые для построения и исполнения программ MPI.

lib Содержит библиотеки для MPI, MPE и соответствующего инструментария.

man Справочник Man pages для MPI, MPE и внутренних подпрограмм.

mpe Исходный код для расширений MPE для регистрации и X graphics.

Каталог contrib содержит примеры, лучшие в подкаталогах mandel и mastermind. Каталоги profiling содержат профилирующие подсистемы, включая систему автоматической генерации «wrappers» для профилирующего интерфейса MPI.

mpid Исходный код для различных «devices», которые заказывают mpich для отдельных машин, операционных систем и окружения.

romio Параллельная система ввода/вывода ROMIO, которая включает в себя реализацию большинства из параллельных вв/выв стандартов MPI-2.

jumpshot Источник для программы визуализации производительности Jumpshot (см. Section 11.2).

src Исходный код для переносимой части mpich. Имеются подкаталоги для различных частей спецификации MPI.

util Служебные программы и файлы.

www Версии HTML для man pages.

Если у Вас возникают проблемы, обратитесь к mpich home page на Web по http://www.mcs.anl.gov/mpi/mpich . Эта страница содержит указатели к спискам известных неполадок и поправочным файлам. Если не найдете необходимого, пошлите е-mail в mpi-bugs@mcs.anl.gov.

3. Документация

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

Эта часть поставки mpich приходит с полным справочником man pages для подпрограмм MPI и расширений MPE. Команда mpiman из mpich/bin представляет хороший интерфейс для man pages.1. Каталог mpich/www содержит версии HTML для man pages для MPI and MPE. Каталог mpich/doc содержит данное Руководство по установке и Руководство пользователя.


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