Юэакхнкженыпэл зепжф ко. В.В. Дрфрдпкзэпв ФВП    

Фвяден юкфживныпрър мифхв
Твфвнненыпре тфръфвоокфрювпке ю кпжефцелхе MPI


Нвчрфвжрфпву фвчржв № 2: рхпрюэ MPI тртвфпрър рчоепв хррчьепкуок I


Хрдефгвпке


Тфедювфкженыпэе жфечрювпку

Фвчржи хнедиеж денвжы трхне кяиаепку MPI рхпрюэ тртвфпрър рчоепв хррчьепкуок I. Юво хнедиеж юпвавне трнпрхжыб явюефщкжы итфвгпепку нвчрфвжрфпрл фвчржэ тр рхпрюво MPI тфегде аео тфкхжитвжы м шжрл фвчрже.

Ажрчэ кяиавжы кнк пвлжк ххэнмк тр хкпжвмхкхи юэярюрю MPI, трниакже дрхжит м хжвпдвфжи тефедвак хррчьепкл кя
http://www-unix.mcs.anl.gov/mpi/ кнк кя фимрюрдхжюв тфръфвоокхжв Оегюедрохжюеппрър хитефмротыбжефпрър зепжфв (.zip ) Word


Зенк

Пвхжруьву нвчрфвжрфпву фвчржв, юр-тефюэй, тряпвмрокж ювх х кхтрныярювпкео чнрмкфибькй к печнрмкфибькй юэярюрю. Явжео юэ чидеже фвчржвжы пв тфрхжро мрде, ажрчэ иниащкжы рчфвязэ демротрякзкк к мрооипкмвзкк двппэй.

Итфвгпепке 1

Фвчракл цвлн пв C: deadlock.c
Цвлн фещепку пв C: fixed.c

Шжр итфвгпепке деорпхжфкфиеж, ажр печнрмкфибьке ципмзкк чеяртвхее чнрмкфибькй ципмзкл.

  1. Хмроткнкфилже шжи житкмрюиб тфръфвоои (deadlock). Пвтфкоеф, дну mpich ю Unix, хнедиеж кхтрныярювжы мровпди:

    mpicc -o deadlock deadlock.c .
    Пвяпвакю дну кхтрныярювпку дюв иянв к овмхковныпре юфеоу кхтрнпепку 5 окпиж, явтихжкже тфръфвоои:

    mpirun -np 2 deadlock -maxtime 5 .
    Тфръфвоов юэдвхж пехмрнымр хжфрм юэйрдпэй двппэй к явжео юхжвпеж. Ажрчэ пе гдвжы 5 окпиж др юэчфрхв тр тфеденыпрои юфеоепк хаежв, юво хнедиеж явюефщкжы явтиьеппиб явдваи мровпдрл юкдв

    mkill deadlock.1,
    ъде deadlock -- коу явдвак, в 1 -- ее проеф.

  2. Тфракжвлже юхб житкмрюиб тфръфвоои (deadlock). Трпковеже нк юэ, траеои рпв тртвдвеж ю житкм?

  3. Ржмрффемжкфилже житкмрюиб тфръфвоои жвм, ажрчэ рпв орънв фвчржвжы др прфовныпрър явюефщепку, х трорьыб явоепэ чнрмкфибьеър юэярюв пв печнрмкфибькл.


Итфвгпепке 2

Фвчраке цвлнэ дну C: least-squares-pt2pt.c, xydata

Шжр итфвгпепке чэнр фвяфвчржвпр, ажрчэ тфедхжвюкжы юво опргехжюр юряоргпрхжел тр твфвнненыпрои тфръфвоокфрювпкб, рхрчеппр ю рчнвхжуй тртвфпрл мрооипкмвзкк к демротрякзкк двппэй. Юэ оргеже пвавжы х тфръфвооэ least-squares-pt2pt.c к тфрденвжы мвгдиб кя пкгехнедибькй явдва пеявюкхкор. Вныжефпвжкюпр, юэ оргеже пвавжы х тфръфвооэ least-squares-pt2pt.c к трхжетеппр, щвъ яв щвъро, хрядвжы тфръфвоои, мржрфву хрдефгкж фещепке юхей явдва.

  1. Тфракжвлже юпковженыпр юхб тфръфвоои к тртэжвлжехы йрфрщр фвярчфвжыху ю ее внърфкжое. Трхоржфкже пв кхтрныярювпке чнрмкфибькй юэярюрю дну ржтфвюрм к трниаепкл к пв жр, мвм двппэе демротрякфибжху.

    Ехжы ю пвнкакк жвмге трхнедрювженыпву юефхку шжрл тфръфвооэ least-squares.c.

    Кя-яв хтрхрчв, мвмко твфвнненыпре рмфигепке итфвюнуеж хкъпвнро, хжвпдвфжпиб ципмзкб sleep() пеныяу кхтрныярювжы. Тршжрои, юэяэювежху ципмзку new_sleep, хрдефгвьвуху ю цвлне new_sleep.c.

    • Ржмроткнкфрювжы тфръфвоои.

      cc -c new_sleep.c

      mpicc least-squares-pt2pt.c new_sleep.o -o least-squares-pt2pt.exe

    • Явтихжкже тфръфвоои least-squares-pt2pt.exe х фвянкапэо акхнро тфрзеххрю (рж 2 др 10). Рчфвжкже юпковпке, мвм шмяеотнуфэ двппэй фвхтфеденубжху тр тфрзеххво.

    Явоежко, ажр: Юхе пкгехнедибьке тфръфвооэ дрнгпэ чэжы ржмроткнкфрювпэ жео ге хтрхрчро, мвм тфръфвоов "least-squares-pt2pt.exe", жео пе оепее, рчсемжпэл мрд "new_sleep.o" хнедиеж хрядвювжы жрнымр рдпвгдэ.

  2. Ажрчэ тртфвмжкмрювжыху ю кхтрныярювпкк печнрмкфибькй ржтфвюмк к трниаепку, явоепкже чнрмкфибьке юэярюэ ржтфвюмк к трниаепку ю least-squares-pt2pt.c пв печнрмкфибьке юэярюэ.

    Цвлн фещепку пв Х явткщкже ю: pt2pt-nblk-comm.c

  3. Тфръфвоов пигдвежху ю пемржрфро иниащепкк тфк фвчрже х чвнвпхкфрювпкео явъфиямк. Шжр жвм, жвм мвм трхнедпеои тфрзеххи двежху пвкчрныщре акхнр шмяеотнуфрю двппэй, мръдв кй пе фвхтфеденубж трфрюпи тр акхни тфрзеххрю.

    Тефеткщкже щвък 2 к 3 тфръфвооэ least-squares-pt2pt.c, ажрчэ рчехтеакжы пвкчрнее фвюпроефпре фвхтфеденепке шмяеотнуфрю двппэй тр тфрзеххво. Мръдв хиьехжюибж кячэжрапэе двппэе, пемржрфэе тфрзеххэ дрнгпэ коежы n/numprocs, в пемржрфэе коежы (n/numprocs) + 1 шмяеотнуфрю двппэй.
    (Явоежко: Тфедтрнвъвежху зенре денепке дну n/numprocs.)

    Цвлн фещепку пв Х явткщкже ю: pt2pt-data-decomp.c

  4. Пв щвъе 4 тфръфвооэ f least-squares-pt2pt.c тфрзехх 0 трниавеж юхе авхжпэе хиоооэ рж дфиъкй тфрзеххрю. Тефеткщкже щвъ 4 кхтрныяиу дюркапре дефеюр мвм рткхвпр пкге:

    • Кхтрныяилже акхнр тфрзеххрю, мржрфре фвюпумжху дюио ю пемржрфрл хжетепк, пвтфкоеф: 2, 4, кнк 8.
    • Фвяденкже тфрзеххэ пв дюе ъфиттэ. Жръдв мвгдэл тфрзехх кя южрфрл ъфиттэ трхэнвеж еър авхжпиб хоои пемржрфроз тфрзххи ю тефюрл ъфитте. Тефюву ъфиттв явжео фвяденуежху пв дюе к шжрж щвъ трюжрфуежху, трмв тфрзехх 0 пе трниакж юхе авхжпэе хиооэ (тфедтрнвъву, ажр тфрзехх 0 пвйрдкжху ю тефюрл ъфитте).
      пвгокже яехы, ажрчэ трниакжы кннбхжфвзкб шжрър оежрдв тфк кхтрныярювпкк 8 тфрзеххрю.

      (Явоежко, ажр шжр оргеж чэжы хденвпр х чкчнкржемрл мрннемжюпэй мроооипкмвзкл.)

    Цвлн фещепку пв Х явткщкже ю: pt2pt-bi-reduc.c

  5. Мвм юряоргпре (пр перчуявженыпре) итфвгпепке, хмрочкпкфилже юхе явцкмхкфрювппре ю рдпи тфръфвоои.

    Цвлн фещепку пв Х явткщкже ю: pt2pt-combo.c


© 2005 Юэакхнкженыпэл зепжф ко. В.В.Дрфрдпкзэпв Юхе тфвюв явькьепэ.
Тфражкже пвще Copyright фимрюрдхжюр.