[PARPRO] 2. laboratorijska vježba - 2021/2022
Reznox
Fikalo Shvatio sam na kraju, dubina mi je postavljena na 7 bila, to bi mi nekako sjebavalo sve, koristeći dubinu 4 i 5 imam vidljivo ubrzanje
Spuk
Fikalo Oni i njihov ferko. Prije postavljanja pitanja, pregledan ferko i svejedno nema te informacije. Opet se ne snalazim na ferku. Ok onda samo kod bez onog dokumenta koji opisuje program? koji klinac onda pisemo taj dokument???
Fikalo
Spuk
Fikalo Ma vjerujem ti. Samo ja i ferko se ocito ne mozemo poslozit. Ima sto informacija na sto mjesta i aj ti nadji ono sto tebi treba.
Spuk
Btw kad ste racunali ubrzanje i ucinkovitost sta ste koristili za T1 (vrijeme sekvencijalnog programa)?? Jer kad pokrneem njihov program koji je navodno sekvencijalni na istoj ploci i dubini mi je brzi od paralelnog na 6 jezgri.
anon00
Zna li netko je li moguce u C++-u poslati citavu istancu custom klase preko MPI poruka?
Oni u primjeru imaju klasu Board i sad me zanima je li ja mogu jednostavno
MPI_Send(¤tBoard, sizeof(currentBoard), MPI_Datatype, dest, tag, MPI_COMM_WORLD);
Ono sto me muci je ovaj MPI_Datatype, ali sam vidio da postoji workaround kao ovo i ovo
E sad… Da ne bi slucajno krenuo tim putem pa nakon X sati skuzim da to ipak ne radi - zanima me je li tko pokusao na ovako neki nacin?
Edit:
Znam da je malo kompliciranje - koristim njihov kod pa pokusavam sto manje ga izmjenjivati. Workaround mi je da saljem 2d array stanja ploce pa napravim custom funkciju load koja nece loadati iz txt file-a kako oni imaju vec is tog array-a popuniti sve podatke iz Board klase
mariak
ima li tko ideju zasto mi nista ne ispisuje kad pokrenem program iz terminala na windowsu, a na linuxu sve normalno radi?
MsBrightside
kaiak sys.stdout.flush() dodaj nakon printa možda, ako si u pythonu
DankJakov
Jel onda okay uzet 7 workera i dat im svakom po jedan zadatak? S tim da je zadatak stanje ploce nakon 1 od 7 mogucih poteza (radim infinite height plocu) Ili bas zahtjevaju da to bude nesto dinamicki dodjeljeno
Daeyarn
DnkCkv meni je prof rekao da bi trebalo doci do barem druge razine gdje je 49 stanja pa njih dijeliti radnicima
DankJakov
Daeyarn hm, znaci master simulira 7 mogucih poteza racunala, za svaki od njih po 7 mogucih poteza covjeka –> 7*7 stanja, i onda workeri simuliraju od tih stanja dalje pocevsi sa pc potezom?
anon00
DnkCkv Upravo tako
Master treba stvoriti minimalno 49 zadataka i onda to dijeliti radnicima. Kad svi budu gotovi treba rezultate svakog podstabla pozbrojiti i podijeliti da se dobije ocjena za roditelja (onih 7 iz prve razine) i onda jos treba pogledati koji je od tih 7 najbolji rezultat pa taj potez napraviti.
Mene zanima nesto drugo:
Profesor je komentirao da mozemo imati fixno 8 radnika i onda pokretati na 1,2,4,8 procesora. Znam da je na satu nesto brzinski pokazivao u task manageru da se moze za program odrediti na koliko procesora ce se vrtiti - je li to to ili kako je zamišljeno to pokretanje na razlicitom br. proc. ?
Reznox
El moze netko pojasnit pisanje ove dokumentacije sto traze? Shvacam da moramo usporedivat brzine mjerenja, ali ovo ostalo mi je nejasno
MrDREDD
Što uzeti za T1 kod izračuna, ako program radi samo za >2 procesora(master samo dijeli zadatke radnicima i prikuplja rjesenja)? Nerazumno mi je uzet vrijeme izvođenja slijednog programa koji je za iste uvjete brži od paralelnog na 8 procesora.
Reznox
MrDREDD To i mene zanima
Lukak
MrDREDD vec je komentirano iznad
yabk
Jel se stigne ovo napraviti do roka veceras ako nisam jos ni poceo? 😅
Lukak
yabk da
[obrisani korisnik]
da provjerim - kad zadamo 49 zadataka, onda je svako od tih 49 podstabala jedan jedini zadatak, bez obzira koliko još zadamo da se njegovih razina izgradi?
Daeyarn
[obrisani korisnik] da, tih 49 stanja se dijeli medu radnicima i svako podstablo je kao 1 zadatak
aa moje pitanje je treba li predavati ikakav dokument, posto u labosu pise da treba dokument u kojem su opisane 4 faze razvoja programa + mjerenja, a na ferku pise da mjerenja ne treba. treba li onda ove faze razvoja dokumentirati ako mjerenja ne treba?