[PARPRO] 1. laboratorijska vježba - 2021/2022
daer
Zna li možda netko u čemu je problem? Pratio sam sve kako su rekli u uputama.
mgd
daer probaj dodati ove fileove kao na videu, meni je onda proradilo.
dora
Jel rok za upload do termina vježbe?
TamTam
AE sad pise da je do 4.4.
branimir1999
Napomene:
1.) Neovisno o jeziku, potrebno je instalirati MPI na računalo. Za python, nakon što se instalira, mora se mpi4py
instalirati.
2.) Cekanje i jedenje je random trajanje te pazite na seed kod višedretvenih procesa
3.) Ako ispisujete izlaz, onda nemojte zaboraviti flushat
4.) Ima n vilica i n filozofa, ali raspored vilica je takav da da prvi ima obje, zadnji nijednu, a svi ostali samo lijevu jer oni s manjim indeksom imaju veci prioritet
5.) Nemojte mijesati blokirajuce i neblokirajuce pozive tipa recv i isend
6.) Labos je relativno jednostavan, samo je debugiranje problem i na tome ce te vecinu vremena izgubiti tako da si pripremite živce
SuperSjajan3
branimir1999 Ne mogu nigdje nać, znači možemo i u pythonu radit?
Smolaa
SuperSjajan3 Možemo da.
branimir1999
SuperSjajan3 Uzmi, ne sa zrnom već KILOM soli, da ako imas jace alate za debugiranje C koda, mozda bi ti bilo preporucljivo ipak raditi u C-u. Uzmi takoder u obzir da MPI u C-u ima vise dokumentacije i da je paralelno programiranje standardna stvar za taj jezik. Uz to, zadaci i primjeri u skripti su vise nalik na C nego na python
Protuargument je: jos nisam jos ni uspjesno rijesio labos u pythonu jer ga i dalje debugiram, te nisam ni pogledao kako izgleda labos u C-u. Stoga, postoji solidna sansa da nemam ideje sto pricam
bodNaUvidima
- dz mozete slobodno rjesavat u pythonu jer jos nije nista komplicirano, ove ostale ce mozda bit bolje radit sa debuggingom u C.
faboche
Koje gradivo iz skripte ulazi u labos?
MsBrightside
him ja bi rekla mpi samo
feel_d_boot
Ja radim ovu vježbu u C-u i koliko se god trudija pratiti njihove upute, mene samo zanima, koliko je bitno da implementiramo jesu li vilice čiste ako u program filozofi ni ne šalju zahtjeve za lijevom ili desnom vilicom već samo za vilicom (nebitno nalazi li se ona njemu slijeva ili zdesna)? Ili sam ja omašio ceo fudbal
tomekbeli420
iNut to čista nečista vilica je bitna za razlikovanje sljedećoj situaciji
recimo da filozof, neka je on indeksa 3, ima jednu vilicu, onu između sebe i 4, i hoće jesti (iako nebitno ali recimo da je već poslao zahtjev filozofu indeksa 2 pa čeka njegovu vilicu)
e i recimo da filozof indeksa 4 sada zatraži onu vilicu koju ima filozof 3
e sad ako je vilica prljava, on mu ju mora dati unatoč tome što i 3 hoće jesti, i kad ju filozof 4 dobije on ju smatra čistom
ako nije, odnosno ako je vilica koju ga 4 traži čista, onda 3 mu neće dati, tek kasnije kad on pojede
tlrd: čista vilica kod filozofa znači da ju je dobio od filozofa, pa jbg neću ti je dati nazad jer još nisam jeo i sad je moj red
prljava vilica kod filozofa znači da je prethodno obavio jedenje sa njom, pa ako ga susjed traži dat ćeš mu (čak i ako si gladan i želiš jesti) jer ti si već obavio jednom a tvoj susjed nije
dakle kad šalješ vilice ne moraš navoditi u poruci da je ona sada čista, jer to se implicitno podrazumijeva, to će lokalno ažurirati svaki proces po primitku vilice jer on mora pratiti pravila kada udovoljiti zahtjevima (i ažurirati kad je prljava kad pojede)
mini
iNut Moraš paziti je li lijeva ili desna vilica zbog slučaja kad imaš samo 2 filozofa.
Artemis
Netko možda susreo s ovakvim problemom?
Retard00
Jel itko ovo imo pri pozivu Request.test() funkcije u mpi4py?
Bucc
Retard00 imao sam isto to pa sam koristio iprobe. staviš if nešto.iprobe: onda u tom ifu pridjeliš nekoj varijabli nešto.irecv da dobiješ što je neki proces poslao pa dalje što trebaš s tim.
to meni rješilo problem
Retard00
Olive Oil ali irecv vraća klasu Result, a da se dobije rezultat treba pozvat funkciju test() koja gotovo uvijek baci taj error. Kak bit onda iz te klase Result trebao povuć poruku?
sheriffHorsey
Olive Oil jesi nasao neko drugo rjesenje za ovo? ovo koje si napisao mi iz nekog razloga ne radi, i dalje bude isti error