Главная страница
Навигация по странице:

  • Пример работы MPI -программы

  • лабораторки MPI. Принципы работы mpi в операционной системе Windows Краткая теория


    Скачать 0.61 Mb.
    НазваниеПринципы работы mpi в операционной системе Windows Краткая теория
    Дата01.05.2023
    Размер0.61 Mb.
    Формат файлаdoc
    Имя файлалабораторки MPI .doc
    ТипДокументы
    #1101186
    страница2 из 5
    1   2   3   4   5

    За­пуск MPI-про­грамм


    Для за­пус­ка MPI-про­грамм в ком­плект MPICH вхо­дит про­грам­ма с гра­фи­че­ским ин­тер­фей­сом Wmpiexec, ко­то­рая пред­став­ля­ет со­бой обо­лоч­ку во­круг со­от­вет­ствую­щей ути­ли­ты ко­манд­ной стро­ки Mpiexec. К со­жа­ле­нию, Wmpiexec не всегда работает корректно, по­это­му са­мый подходящий спо­соб за­пус­кать MPI-про­грам­мы — это поль­зо­вать­ся не­по­сред­ствен­но Mpiexec. Од­на­ко, рассмотрим Wmpiexec, так как эта про­грам­ма ин­ту­и­тив­но по­нят­нее.

    Ок­но про­грам­мы Wmpiexec по­ка­за­но на ри­с. 1.2. (об­ра­ти­те вни­ма­ние, что вклю­чён фла­жок «more options»).





    Ри­с. 1.2. Про­грам­ма Wmpiexec

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

    • По­ле вво­да «Application»: сю­да вво­дит­ся путь к MPI-про­грам­ме. Как уже бы­ло ска­за­но ра­нее, путь пе­ре­да­ёт­ся в не­из­мен­ном ви­де на все ком­пью­те­ры се­ти, по­это­му же­ла­тель­но, что­бы про­грам­ма рас­по­ла­га­лась в об­щей се­те­вой пап­ке.

    • «Number of processes»: чис­ло за­пус­кае­мых про­цес­сов. По умол­ча­нию про­цес­сы рас­пре­де­ля­ют­ся по­ров­ну меж­ду ком­пью­те­ра­ми се­ти, од­на­ко это по­ве­де­ние мож­но из­ме­нить при по­мо­щи кон­фи­гу­ра­ци­он­но­го фай­ла.

    • Кноп­ка «Execute» за­пус­ка­ет про­грам­му; кноп­ка «Break» при­ну­ди­тель­но за­вер­ша­ет все за­пу­щен­ные эк­зем­пля­ры.

    • Фла­жок «run in a separate window» пе­ре­на­прав­ля­ет вы­вод всех эк­зем­пля­ров MPI-про­грам­мы в от­дель­ное кон­соль­ное ок­но.

    • Кноп­ка «Show Command» по­ка­зы­ва­ет в по­ле спра­ва ко­манд­ную стро­ку, ко­то­рая ис­поль­зу­ет­ся для за­пус­ка MPI-про­грам­мы (Wmpiexec — обо­лоч­ка над Mpiexec). Ко­манд­ная стро­ка со­би­ра­ет­ся из всех на­стро­ек, вве­дён­ных в осталь­ных по­лях ок­на.

    • Да­лее идёт боль­шое тек­сто­вое по­ле, в ко­то­рое по­па­да­ет ввод-вы­вод всех эк­зем­пля­ров MPI-про­грам­мы, ес­ли не уста­нов­лен фла­жок «run in a separate window».

    • Фла­жок «more options» по­ка­зы­ва­ет до­пол­ни­тель­ные па­ра­мет­ры.

    • «working directory»: сю­да мож­но вве­сти ра­бо­чий ка­та­лог про­грам­мы. Опять же, этот путь дол­жен быть ве­рен на всех вы­чис­ли­тель­ных уз­лах. Ес­ли путь не ука­зан, то в ка­че­стве ра­бо­че­го ка­та­ло­га бу­дет ис­поль­зо­вать­ся ме­сто на­хож­де­ния MPI-про­грам­мы.

    • «hosts»: здесь мож­но ука­зать че­рез про­бел спи­сок вы­чис­ли­тель­ных уз­лов, ис­поль­зуе­мых для за­пус­ка MPI-про­грам­мы. Ес­ли это по­ле пу­стое, то ис­поль­зу­ет­ся спи­сок, хра­ня­щий­ся в на­строй­ках ме­не­дже­ра про­цес­сов те­ку­ще­го уз­ла.

    • «environment variables»: в этом по­ле мож­но ука­зать зна­че­ния до­пол­ни­тель­ных пе­ре­мен­ных окру­же­ния, уста­нав­ли­вае­мых на всех уз­лах на вре­мя за­пус­ка MPI-про­грам­мы. Син­так­сис сле­дую­щий: имя_1=зна­че­ние_1, имя_2=зна­че­ние_2.

    • «drive mappings»: здесь мож­но ука­зать се­те­вой диск, под­клю­чае­мый на каж­дом вы­чис­ли­тель­ном уз­ле на вре­мя ра­бо­ты MPI-про­грам­мы. Син­та­кис: Z:\\winsrv\wdir.

    • «channel»: поз­во­ля­ет вы­брать спо­соб пе­ре­да­чи дан­ных меж­ду эк­зем­пля­ра­ми MPI-про­грам­мы.

    • «extra mpiexec options»: в это по­ле мож­но вве­сти до­пол­ни­тель­ные клю­чи для ко­манд­ной стро­ки Mpiexec.

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



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

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


    написать администратору сайта