Юэакхнкженыпэл зепжф ко. В.В. Дрфрдпкзэпв ФВП
Фвяден юкфживныпрър мифхв Твфвнненыпре тфръфвоокфрювпке ю кпжефцелхе MPI
|
|
Нвчрфвжрфпву фвчржв № 2: рхпрюэ MPI тртвфпрър рчоепв хррчьепкуок I
Хрдефгвпке
Тфедювфкженыпэе жфечрювпку
Фвчржи хнедиеж денвжы трхне кяиаепку
MPI рхпрюэ тртвфпрър рчоепв хррчьепкуок I.
Юво хнедиеж юпвавне трнпрхжыб явюефщкжы итфвгпепку нвчрфвжрфпрл фвчржэ тр
рхпрюво MPI
тфегде аео тфкхжитвжы м шжрл фвчрже.
Ажрчэ кяиавжы кнк пвлжк ххэнмк тр хкпжвмхкхи юэярюрю MPI, трниакже дрхжит м
хжвпдвфжи тефедвак хррчьепкл кя
http://www-unix.mcs.anl.gov/mpi/ кнк кя
фимрюрдхжюв тфръфвоокхжв Оегюедрохжюеппрър хитефмротыбжефпрър зепжфв (.zip ) Word
Зенк
Пвхжруьву нвчрфвжрфпву фвчржв, юр-тефюэй, тряпвмрокж ювх х кхтрныярювпкео чнрмкфибькй к печнрмкфибькй юэярюрю.
Явжео юэ чидеже фвчржвжы пв тфрхжро мрде, ажрчэ иниащкжы рчфвязэ демротрякзкк к мрооипкмвзкк двппэй.
Итфвгпепке 1
Фвчракл цвлн пв C: deadlock.c
Цвлн фещепку пв C: fixed.c
Шжр итфвгпепке деорпхжфкфиеж, ажр печнрмкфибьке ципмзкк чеяртвхее чнрмкфибькй ципмзкл.
- Хмроткнкфилже шжи житкмрюиб тфръфвоои (deadlock). Пвтфкоеф, дну mpich ю Unix, хнедиеж кхтрныярювжы мровпди:
mpicc -o deadlock deadlock.c .
Пвяпвакю дну кхтрныярювпку дюв иянв к овмхковныпре юфеоу кхтрнпепку 5 окпиж, явтихжкже тфръфвоои:
mpirun -np 2 deadlock -maxtime 5 .
Тфръфвоов юэдвхж пехмрнымр хжфрм юэйрдпэй двппэй к явжео юхжвпеж.
Ажрчэ пе гдвжы 5 окпиж др юэчфрхв тр тфеденыпрои юфеоепк хаежв, юво хнедиеж
явюефщкжы явтиьеппиб явдваи мровпдрл юкдв
mkill deadlock.1,
ъде deadlock -- коу явдвак, в 1 -- ее проеф.
- Тфракжвлже юхб житкмрюиб тфръфвоои (deadlock). Трпковеже нк юэ, траеои рпв тртвдвеж ю житкм?
- Ржмрффемжкфилже житкмрюиб тфръфвоои жвм, ажрчэ рпв орънв фвчржвжы др прфовныпрър явюефщепку,
х трорьыб явоепэ чнрмкфибьеър юэярюв пв печнрмкфибькл.
Итфвгпепке 2
Фвчраке цвлнэ дну C: least-squares-pt2pt.c, xydata
Шжр итфвгпепке чэнр фвяфвчржвпр, ажрчэ тфедхжвюкжы юво опргехжюр юряоргпрхжел тр твфвнненыпрои тфръфвоокфрювпкб,
рхрчеппр ю рчнвхжуй тртвфпрл мрооипкмвзкк к демротрякзкк двппэй.
Юэ оргеже пвавжы х тфръфвооэ least-squares-pt2pt.c к тфрденвжы мвгдиб кя пкгехнедибькй явдва
пеявюкхкор.
Вныжефпвжкюпр, юэ оргеже пвавжы х тфръфвооэ least-squares-pt2pt.c к трхжетеппр, щвъ яв щвъро,
хрядвжы тфръфвоои, мржрфву хрдефгкж фещепке юхей явдва.
- Тфракжвлже юпковженыпр юхб тфръфвоои к тртэжвлжехы йрфрщр фвярчфвжыху ю ее внърфкжое.
Трхоржфкже пв кхтрныярювпке чнрмкфибькй юэярюрю дну ржтфвюрм к трниаепкл к пв жр, мвм двппэе демротрякфибжху.
Ехжы ю пвнкакк жвмге трхнедрювженыпву юефхку шжрл тфръфвооэ 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"
хнедиеж хрядвювжы жрнымр рдпвгдэ.
- Ажрчэ тртфвмжкмрювжыху ю кхтрныярювпкк печнрмкфибькй ржтфвюмк к трниаепку,
явоепкже чнрмкфибьке юэярюэ ржтфвюмк к трниаепку ю least-squares-pt2pt.c
пв печнрмкфибьке юэярюэ.
Цвлн фещепку пв Х явткщкже ю: pt2pt-nblk-comm.c
- Тфръфвоов пигдвежху ю пемржрфро иниащепкк тфк фвчрже х чвнвпхкфрювпкео явъфиямк.
Шжр жвм, жвм мвм трхнедпеои тфрзеххи двежху пвкчрныщре акхнр шмяеотнуфрю двппэй, мръдв кй
пе фвхтфеденубж трфрюпи тр акхни тфрзеххрю.
Тефеткщкже щвък 2 к 3 тфръфвооэ least-squares-pt2pt.c, ажрчэ рчехтеакжы пвкчрнее фвюпроефпре
фвхтфеденепке шмяеотнуфрю двппэй тр тфрзеххво.
Мръдв хиьехжюибж кячэжрапэе двппэе, пемржрфэе тфрзеххэ дрнгпэ коежы n/numprocs,
в пемржрфэе коежы (n/numprocs) + 1 шмяеотнуфрю двппэй.
(Явоежко: Тфедтрнвъвежху зенре денепке дну n/numprocs.)
Цвлн фещепку пв Х явткщкже ю: pt2pt-data-decomp.c
- Пв щвъе 4 тфръфвооэ f least-squares-pt2pt.c тфрзехх 0 трниавеж юхе авхжпэе хиоооэ
рж дфиъкй тфрзеххрю. Тефеткщкже щвъ 4 кхтрныяиу дюркапре дефеюр
мвм рткхвпр пкге:
Цвлн фещепку пв Х явткщкже ю: pt2pt-bi-reduc.c
- Мвм юряоргпре (пр перчуявженыпре) итфвгпепке,
хмрочкпкфилже юхе явцкмхкфрювппре ю рдпи тфръфвоои.
Цвлн фещепку пв Х явткщкже ю: pt2pt-combo.c