Волгоград Linux User Group |
|
Организована 23 ноября 2002 года
Проект заморожен Птн Июл 6 02:11:14 MSD 2012 |
|
MpichMiniHowTo |
Параллельное программирование в ALT Linux Master 2.0: Как настроить и запустить Автор: Skyrex (skyrex@hotbox.ru)
Назначение: краткие заметки по настройке и использованию пакета MPICH в
дистрибутивах ALT Linux Master 2.0 (2.2) Лицензия: GPL Замечание: Статья изначально рассчитывалась на людей желающих, но в силу не знания Linux, не могущих использовать MPICH Что здесь есть (Оглавление):
1. О чем это 2. Настройка 3. Использование 4. Пример 5. Трогательное прощание 1. О чем это.
MPICH (MPI Chameleon) одна из свободно расспростроняемых (под лицензией
GPL) реализаций стандарта MPI ( Сообщений), работающию на многих платформах, использующая различные коммуникационные интерфейсы (включая TCP/IP). Специализация MPI обеспечивает переносимость программ на уровне исходных кодов, так что не не надо бояться, что долгими ночами писанная вами дома программа не сможет быть использованна на кластере доступного вам ВЦ... В данном документе я не буду рассматривать спецификацию MPI, особенности реализации и уж тем более программирования на различных платформах. Я расскажу как настроить MPICH в дистрибутиве ALT Linux Master 2.0 (или,что может быть более точно, как это у меня получилось... Или получалось... Или получиться... ) 2. Настройка.
При установки Master'a с CD не поленись поставь галочки напротив * Если не вспомнил вовремя не беда: инсталяции, к несчастью не рассчитанной на Master 2.0 * mpich, собственно, сам пакет.* mpicc, обертка(wrapper) для использующих C++ (без mpich смысла ставить нет, тк без него не работает). 1. Входишь под root'ом и для начала делаешь железяке, живущей по адресу /mnt/cdrom все диски с дистрибутивом (делается пару минут, а спасает часы...). иначе связанных с mpich. название пакета, выданное тебе на шаге 2. * /usr/share/mpich Опишем теперича саму «настройку».
компилируют и запускают твои шедевры 1. Для нормального фунциклирования MPICH требует наличия rsh (remote shell), который как правило администраторами не ставиться, т.к. используется всяко разными злоумышлинниками для полученния несанкционированного доступа к системе, так что даже не проси админа о его установке, лучше сделать символьную ссылку /usr/bin/rsh на /usr/bin/ssh. Если ты сам себе админ (поставил себе Линух дома и смотришь на него круглыми от восторга и изумления глазами) то делается это командой ln -s /usr/bin/ssh /usr/bin/rsh либо, как вариант, делаешь ссылочку в директории ~/bin свою программу. Учти: к этим машинам у тебя должен быть доступ по SSH. Создай (если нет) в папке ~/.ssh файлы id_dsa и id_dsa.pub c помощью программы на все предложения ввести что либо нажимай «Ввод». Создай файл ~/.ssh/authorized_keys2 и скопируй в него содержимое файла id_dsa.pub, после чего подсоединись поочерёдно ко всем хостам из определенного тобой списка. руками, холодный пот со лба... Настроил. 3. Использование.
Перепишем пример /usr/share/doc/ себе в рабочию директорию. Скомпилируем файл с помощью скрипта mpicc: mpicc cpi.c -o cpi Получим исполнимый файл cpi, который мы должны поместить на машины нашего кластера. Далее... Есть два способа запускать программу: 1. Для ленивых. Для начала узнай имена хостов к которым ты будешь подключаться. Делается это с помощью команды hostname. Список хостов занеси в файл /usr/share/mpich/mashines.LINUX, (необходимо иметь права root'a) предварительно удалив все то, что там было не закоментированно. Если в список попала многопроцессорная машина можешь указать после имени хоста через двоеточие число процессоров. Например, у нас есть 4х процессорный монстр от шараги с ярким названием Sun, команда hostname выдала тебе super.puper.sun.stoit.na.rabota.blin. Значит пишешь в файле: super.puper.sun.stoit.na.rabota.blin:4 Запускаешь программу командой: mpirun -np N /full/path/to/program/program_name Здесь
тебе придется на одной единственной машине, для того чтобы программы выполнялись тебе придется залезть под root'ом в файл /usr/share/mpich/mashines.LINUX и удалить все то, что там не закомментированно, после чего вписать в конец файла одну единственную строчку: localhost, после чего тебе нужно хотя бы раз подключится по ssh к самому себе, что делается командой: ssh localhost. И запускаешь так же, как было описанно выше. Чаще бывет так, что программа твоя на разных компьютерах находиться в разных каталогах, либо ты не имеешь доступа с правами root'a к файлу /usr/share/mpich/mashines.LINUX. Ддя того, что бы запустить программу в такой ситуации тебе понадобиться это текстовый файл содержащий информацию о том на каком хосте, сколько и каких программ должно выполняться при запуске вашей MPI программы. Данный файл имеет следующую структуру: hostname NP /full/path/to/program/program_name Здесь
mpirun -p4pg /full/path/to/pg_file/pg_file /full/path/to/program/program_name (либо, в случаи, если каталоге: mpirun -p4pg ./pg_file ./program_name)
cpi на localhost: localhost 0 /home/skyrex/cpi localhost 2 /home/skyrex/cpi Здесь 0 в 4. Пример.
Если нужны еще примеры ищи их в /usr/share/doc/ 5. Прощание.
Автор (те Я), не несет ответственности за все те неприятности в которые вы угодите после ознокомления с данным текстом(к примеру: выход системы из строя, облысение, заболевание сифилисом... etc). Информация приведенная в статье исползуется вами на свой страх и риск. Замечания и пожелания пишите. Удачи! 28.04.2003, Skyrex.
[ |
|
Powered by
|