Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторки текст .doc
Скачиваний:
24
Добавлен:
08.09.2019
Размер:
751.1 Кб
Скачать

Вопросы для самоконтроля

1 – Что из себя представляет MPI-программа?

2 – В чем особенности программы MPICH2?

3 – Принципы работы MPICH2.

4 – Компоненты программы MPICH2.

5 – Запуск MPI-программы.

6 – Запуск MPI-программы с использованием Wmpiexec.exe.

7 – перечислите поля, используемые в интерфейсе программы

Wmpiexec.exe, и выполняемые в них команды.

Индивидуальные задания

Для вариантов 1-5:

Протестировать MPI-приложение по адресу C:\Program Files\MPICH2\examples\cpi.exe.

В программе Wmpiexec указать число процессов i (номер варианта), и задать число интервалов 1350*i.

Для вариантов 6-10:

Протестировать MPI-приложение по адресу C:\Program Files\MPICH2\examples\vittua.exe.

В программе Wmpiexec указать число процессов i (номер варианта), и задать число интервалов 750*i.

Для вариантов 11-15:

Протестировать MPI-приложение по адресу C:\Program Files\MPICH2\examples\muna.exe.

В программе Wmpiexec указать число процессов i (номер варианта), и задать число интервалов 1700*i.

Лабораторная работа №2 Пример работы mpi-программы

Цель работы: Изучить принципы работы программы MPICH2. Сконфигурировать Microsoft Visual Studio для работы MPICH2. Протестировать MPI-приложение.

Краткая теория

К пакету MPICH2 прилагается об­ра­зец MPI-про­грам­мы: C:\​Program Files\​MPICH2\​examples\​cpi.exe (ис­ход­ный код см. ниже). Это про­стая про­грам­ма, при­бли­жён­но вы­чис­ляю­щая зна­че­ние чис­ла Пи пу­тём чис­лен­но­го вы­чис­ле­ния сле­дую­ще­го ин­тег­ра­ла:

Вна­ча­ле за­пу­стим один, два, и че­ты­ре про­цес­са на «головном» ком­пью­те­ре. Что­бы MPICH2 не рас­пре­де­лял за­пус­кае­мые про­цес­сы меж­ду имею­щи­ми­ся уз­ла­ми, от­клю­чим ра­бо­ту с се­тью; для это­го су­ще­ству­ет ключ ко­манд­ной стро­ки -localonly. При его до­бав­ле­нии ме­не­джер про­цес­сов не ис­поль­зу­ет­ся. Это очень по­лез­но, ес­ли по ка­ким-ли­бо при­чи­нам MPICH2 не уда­ёт­ся на­стро­ить. Вве­ди­те этот ключ в по­ле «extra mpiexec options».

В по­ле «Application» вве­ди­те путь к про­грам­ме cpi.exe. Так как про­грам­ма за­пус­ка­ет­ся на од­ном ком­пью­те­ре, путь мож­но вво­дить ло­каль­ный.

«Number of processes» вве­ди­те рав­ным 1, и на­жми­те кноп­ку «Execute». Про­грам­ма за­пу­стит­ся и спро­сит чис­ло ин­тер­ва­лов для чис­лен­но­го ин­тег­ри­ро­ва­ния. Вве­ди­те 100000000, и на­жми­те Ctrl+Enter. Про­грам­ма по­счи­та­ет чис­ло Пи, и вы­ве­дет вре­мя, за­тра­чен­ное на вы­чис­ле­ние. Про­ве­ди­те вы­чис­ле­ния со 100 мил­ли­о­на­ми ин­тер­ва­лов ещё не­сколь­ко раз, что­бы опре­де­лить ми­ни­маль­ное вре­мя. По­сле это­го вве­ди­те 0, и на­жми­те Ctrl+Enter. Про­грам­ма за­вер­шит­ся.

По­лу­чено сле­дую­щее вре­мя вы­чис­ле­ния на од­ном ком­пью­те­ре: 1 про­цесс — 1.424 се­кун­ды, 2 про­цес­са — 0.7801 се­кун­ды, 4 про­цес­са — 0.7766 се­кун­ды. Вид­но, что два про­цес­са вы­пол­ни­ли вы­чис­ле­ния по­чти в 2 ра­за быст­рее, чем один про­цесс, в то вре­мя как ис­поль­зо­ва­ние 4-х про­цес­сов не да­ло даль­ней­ше­го вы­иг­ры­ша в ско­ро­сти.

Те­перь за­пу­стим MPI-про­грам­му на двух ком­пью­те­рах. Для это­го ско­пи­руй­те про­грам­му cpi.exe на об­щий се­те­вой диск (например \\192.168.1.4\​MPI\). Убе­ди­тесь, что про­грам­ма вид­на со всех ком­пью­те­ров по од­но­му и то­му же се­те­вом ад­ре­су.

Те­перь са­мое глав­ное. Так как эк­зем­пля­ры MPI-про­грам­мы ра­бо­та­ют и об­ме­ни­ва­ют­ся дан­ны­ми по се­ти не­за­ви­си­мо от ме­не­дже­ра про­цес­сов, их то­же нуж­но вне­сти в спи­сок ис­клю­че­ний бранд­мау­э­ра Microsoft Windows. До­бавь­те cpi.exe (с се­те­во­го ре­сур­са) в спи­сок ис­клю­че­ний бранд­мау­э­ра на всех ком­пью­те­рах се­ти.

Ука­жи­те се­те­вой ад­рес про­грам­мы cpi.exe (например \\192.168.1.4\MPI\cpi.exe) в по­ле «Application» про­грам­мы Wmpiexec. Вы­бе­ри­те чис­ло про­цес­сов и на­жми­те кноп­ку Execute.

Получено сле­дую­щее вре­мя вы­чис­ле­ния на двух ком­пью­те­рах: 1 про­цесс — 1.424 се­кун­ды, 2 про­цес­са — 1.023 се­кун­ды, 4 про­цес­са — 0.5714 се­кун­ды. На этот раз 4 про­цес­са да­ли вы­иг­рыш в ско­ро­сти по срав­не­нию с дву­мя про­цес­са­ми.