[PARPRO] 3. laboratorijska vježba - 2021/2022
Svudec
🤡 šalješ kernelu parametar N iz hosta i onda u kernelu staviš if njegov globalni index < N računa, inače samo return.
To ti rješava i da N mora bit djeljiv sa G. Znači dio threadova neće raditi ništa, al nema drugog načina
---
Svudec da al kak onda osigurati da neke dretve mogu raditi N/G sto je dio zadatka? jer tako dobijem 0
Svudec
🤡 A mislim da nije toliko bitno kao što je koolega rekao. Ja šaljem u kernel N, G i broj koliko svaki thread mora obraditi zadataka (N/G zaokruženo na veći cijeli broj) => count
Onda svaki kernel zavrti petlju od 0 do count i računa elemente (globalni indeks dretve + (i * G)) naravno samo ako nije veće od N.
feel_d_boot
Samo napravite da vam vrati netočan broj prostih brojeva neovisno o L-u i G-u, bitan je pristup, a ne točnost
Svudec
🤡 Ja sam pronašao da je za moj procesor u dokumentaciji najbolji L=64 jer procesor ima fizički 16 threads, naredbe se izvode u 4 koraka i onda je to efektivno 64 threads istovremeno.
I onda staviš G takav da uvijek bude djeljiv sa L i što veći (isprobavaj samo potencije broja 2).
Npr meni je za prvi N= 2 na 25, G= 2 na 19, L=64 i to se izračuna za cca 3.8 sekunde
---
Svudec meni se kernel obradi u 0.06s i onda mi cl.enqueue_copy(queue, counter, device_counter)
traje jako dugo… sto ne razumijem zasto
Reznox
Moramo li ista pripremit za odgovaranje na labosu, npr mjerenja i to?
Lukak
kako ste implementirali taj L?
guzmanov_brk
Meni sada javlja ovaj error za sva 3 zadatka iako su se prva 2 dosad normalno izvrsavala bez ikakvih problema. Sad sam isao testirati 3. i eto ga, “sranje kroz gusto granje” sta bi rekli.
Zna li itko zasto se to dogodilo?
feel_d_boot
aybe
Slične probleme imam di ne minjam kid nego iskompajliram s istom naredbom u terminalu i izbaciva mi druge brojke kad pokrenem ili vrati samo nule. Idemo po tih nula zlatnih bodova.
guzmanov_brk
iNut i ja sam napravio po tvome i radilo mi dosad. sad odjednom nece seronja pokrenut, nego baca opet taj -1001 error
feel_d_boot
aybe
A gle, dosl idem tamo s 2. i 3. labosom koji rade kad mu se kurca digne očito i reć ću asistentu da me pita što god hoće i da mi dadne nula bodova i neka me šalje u pm
EDIT: govorim ovo jer upravo provjeravam i drugi lab kojeg trebam uploadati i poruke koje se šalju su odlučile ne funkcionirati, jebat ga. Idemo na sve il nista
miss_anthropocene
jel ima tko da mu je u 3. zadatku error 0 kad paralelizira? ili da mu se u psitmp ne mijenjaju vrijednosti u kernelu
feel_d_boot
neunist.iva
dosl se jebem s tim problemom već 4 sata, al sam odusta i reka da mi gleda kako se vrijeme izvršavanja ubrzalo i nadat se najboljem. Ne znam na čemu radiš al intel proc i opencl nisu za mene. triba sam na agronomiju
guzmanov_brk
ma isto, intel proc i opencl. jebiga ja odustao i uploadao ovo sto imam dosad. jedino sta ti mogu rec ono za tvoj problem da ti izbaciva druge brojke svaki put je da si nesto sa memorijom sjebao. dakle recimo ne koristis atomicko zbrajanje nego obicno (+=) pa onda pitaj ćelavog sta ce se tu dogodit.
Dorinacoko
Koliki bi udio mogao imati 3. zadatak glede bodova? Ne znam da li je negdje spomenuto…
nnn
su rekli šta za predaju labosa bez trećeg zadatka? Neda mi se pisat to sljedeći tjedan..
ZalutaliStudent
nnn
ZalutaliStudent jesi ti skužio u međuvremenu? Imam isti problem
nnn
dinoo ZalutaliStudent Reznox Bisolvon znaci 4 sata gledam, ako netko naleti na isti problem:
dev_psi = cl.Buffer(ctx, cl.mem_flags.WRITE_ONLY , psi.nbytes)
stvar je da ovdje se psi stavlja kao write_only
i onda se boundary vrijednosti ne inicijaliziraju prilikom izvršavanja petlje odnosno:
A A A A A A je undefined
A B B B A B zapisemo u loop-u
A B B B A
A B B B A
A A A A A
i onda kada citamo taj buffer nazad u psi sa cl.enqueue_copy(queue, psi, dev_psi).wait()
imamo undefined vrijednosti, ugl ovo treba biti:
dev_psi = cl.Buffer(ctx, cl.mem_flags.READ_WRITE | cl.mem_flags.COPY_HOST_PTR, hostbuf=psi)
Haki
Jel i vama na ferku nema mjesta u burzi grupa?
ZalutaliStudent
Haki Napisali su da je reko prof da ce otvorit nove grupe i termine.
feel_d_boot
Haki
Ja sam se prije pola sata upisa za sutra i 3.6. za obranu. Nije se valjda već popunilo.
Haki
ZalutaliStudent da vidio sam, al evo sve je puno