DZ PPR 2011/12.
Select messages from
# through # FAQ
[/[Print]\]

Forum@DeGiorgi -> Paralelni algoritmi 1 i 2

#1: DZ PPR 2011/12. Autor/ica: venovako PostPostano: 0:53 pet, 9. 3. 2012
    —
Zadaća je na:
http://titan.fsb.hr/~venovako/nastava/PMF-MO/ParAlg12/2/dz/1112.pdf

Rok za predaju:
zadnji petak prije prvog kolokvijskog razdoblja.

Pitanja oko zadaće:
na ovom topicu.


Zadnja promjena: venovako; 20:17 čet, 3. 5. 2012; ukupno mijenjano 1 put.

#2:  Autor/ica: Gost PostPostano: 10:40 pet, 9. 3. 2012
    —
Pitanje oko predaje zadace: Ako pokusamo predati prije zadneg roka, i uspostvi se da smo nesto "krivo" shvatili (odn. da nesto mozemo bolje napraviti), da li onda smijemo doci i predati zadacu jos jednom (prije zadnjeg roka)?

#3:  Autor/ica: venovako PostPostano: 14:26 pet, 9. 3. 2012
    —
Da, kao i na UuPRu - smijete pitati, predati ranije pa onda doraditi i predati ponovo... ali ne smijete preko zadnjeg roka za predaju.

#4:  Autor/ica: venovako PostPostano: 18:08 sub, 10. 3. 2012
    —
Evo odgovora na zanimljiva pitanja u vezi zadaće, tako da ih svi vidite:

Pod a) (cuBLAS):
Broj streamova zadajete sami (možete ga npr. učitati kao komandnolinijski argument programa). Poanta je da isprobate sa sve većim i većim brojem streamova, dok god dobivate ubrzanje. Kad se brzina stabilizira, znači da ste uspjeli postići maksimalno zauzeće procesnih jedinica.

Također, pod a) i b) pretpostavite da vam čitava matrica (dakle, svi stupci) stanu u RAM grafičke kartice (na Fermiju je to cca 3 GB). Kad testirate korektnost programa, možete uzimati relativno male matrice (dimenzija pokoju stotinu), a kad želite vidjeti efekte brzine (kao za streamove gore) morat ćete ići na veće dimenzije.

Napominjem da ćemo tehnike brzog računanja normi, točnog mjerenja vremena i redukciju raditi na vježbama, pa se ne brinite trenutno ako niste sigurni kako sve to treba napraviti.

#5:  Autor/ica: venovako PostPostano: 21:48 sub, 10. 3. 2012
    —
Za korištenje cuBLASa trebate reći:
Kod:
#include <cublas_v2.h>

i linkati s (tj. proslijediti nvcc-u opciju) -lcublas

Vidim po pitanjima da neke stvari oko toga gdje se koji podaci nalaze (host ili device) nisu jasne, pa ćemo to detaljnije pogledati na vježbama.
Zasad ukratko:
CUDA objekti (streamovi i sl., tj. varijable oblika cudaNESTO_t) su na host-u, jer host (tj. driver) je taj koji s njima radi.
Takvi objekti su "normalni", u smislu da ih ne trebate alocirati cuda* alokacijskim funkcijama.

#6:  Autor/ica: venovako PostPostano: 21:57 sub, 17. 3. 2012
    —
Evo odgovora na neka pitanja koja su u međuvremenu iskrsnula:

Ako imate polje tipa T alocirano na device-u, npr.
T *polje
onda ne možete s host-a dereferencirati polje, tj. pristupiti njegovim elementima, npr.
polje[2]
S druge strane, polju alociranom na host-u device može tako pristupiti ako je pri alokaciji mapirano s flag-om
cudaHostAllocMapped
u CUDA adresni prostor.
Pripazite na tu asimetriju!

Kad koristite cuBLAS, pazite gdje ćete spremati skalare.
Neki skalari se uvijek šalju s host-a po vrijednosti (npr. u dnrm2 to su int parametri).
Rezultat dnrm2 možete birati gdje želite da završi pomoću funkcije
cublasSetPointerMode
Inicijalno se očekuje da pokazivači na skalare pokazuju u host memoriju, tj.
CUBLAS_POINTER_MODE_HOST
Ako to želite promijeniti, postavite gornjom funkcijom
CUBLAS_POINTER_MODE_DEVICE

Pitanje oko (globalne) redukcije:
Redukcijski kernel možete napisati tako da su svi threadovi u jednom bloku threadova.
Tada možete reducirati kompletno polje.
Ako imate više thread blokova, svaki od njih napravi parcijalnu redukciju pridruženog potpolja.
Te parcijalne rezultate opet treba reducirati.
Kako to optimalno izvesti bit će - među ostalim - tema sljedećih vježbi, gdje ćemo vidjeti
i redukcije na razini warp-ova, te dodatne napomene oko korištenja shared memorije.

Generalna ideja:
Svi warpovi u jednom bloku naprave svoju (zasebnu) parcijalnu redukciju.
Zatim se ti parcijalni rezultati opet reduciraju u jedan, unutar svakog bloka, i spreme u globalnu memoriju.
Novim pozivom redukcijskog kernela (s odgovarajuće manje blokova ili warpova po bloku) postupak se ponavlja dok god ne dobijemo finalni rezultat.
Ima dosta slobode u odabiru veličine grida i blokova, pa ćemo to detaljnije raspraviti na vježbama.

Ako vam se ne zamara s tom kvazi-rekurzivnom idejom, i zelite napraviti maksimalno jednostavno, uzmite jedan blok threadova.

#7:  Autor/ica: venovako PostPostano: 21:52 ned, 18. 3. 2012
    —
Pazite kod poziva kernela da mu proslijedite veličinu dinamičke shared memorije (ako je koristite) i odgovarajući stream (ako nije defaultni 0).
Pogledajte u CUDA_C_Programming_Guide-u sekciju B.17.

#8:  Autor/ica: venovako PostPostano: 16:18 sri, 11. 4. 2012
    —
U petak 13.04. predaje zadaca bit ce od podne na PMF-MO, kabinet Rogina-Singer.

Ako mislite doci, molim predbiljezbe ovdje, s razmakom od pola sata.
Slobodno se javite i do podneva, bitno je samo da znamo koliko vas se ocekuje (tj. do kad).

P.S. Ako imate koliziju s nekim kolokvijem, javite se.

#9:  Autor/ica: CobsLokacija: Geto PostPostano: 21:46 sri, 11. 4. 2012
    —
javljam se za 12:00h.

Josip Iveković

#10:  Autor/ica: bleki88 PostPostano: 12:02 čet, 12. 4. 2012
    —
javljam se za 12.30

Ana Marija Idžojtić

#11:  Autor/ica: Mas PostPostano: 12:22 čet, 12. 4. 2012
    —
Javljam se za 13:00

Davor Mas

#12:  Autor/ica: Gost PostPostano: 13:42 čet, 12. 4. 2012
    —
Javljam se za 13:30.

Ivan Budimir

#13:  Autor/ica: Thor PostPostano: 16:37 čet, 12. 4. 2012
    —
14:00
Tomislav Dubravčević

#14:  Autor/ica: bubble PostPostano: 16:54 čet, 12. 4. 2012
    —
15:30 (ostavljam vrijeme za pauzu)

Vesna Đukić

#15:  Autor/ica: itizaj PostPostano: 17:01 čet, 12. 4. 2012
    —
javljam se za 16:00

Dora Vidaković

#16:  Autor/ica: Gost PostPostano: 11:20 pet, 13. 4. 2012
    —
Vatroslav Stambuk
16:30
Ispricavam se zaboravio sam se jucer prijaviti, a imam kolokvij u 15:00 pa je li oko u 16:30

#17:  Autor/ica: ssingerLokacija: 45.35 st. sjeverno, 16 st. istočno PostPostano: 19:42 sub, 14. 4. 2012
    —
Studenti koji nisu ovaj tjedan predali svoje programske zadatke, mogu to napraviti i u tjednu od 16.-20. travnja 2012. Vjerojatno vrijeme predaje zadataka je četvrtak poslije podne.

Zbog kašnjenja u predaji domaće zadaće, zadaci pod (a) i (b) više ne nose 10 i 15 bodova, nego 5 i 10 bodova. Ostali bodovi u zadaći se ne mijenjaju, što znači da zadaća umjesto ukupno 40 bodova može donijeti najviše 30 bodova. Čak i tako predani zadaci oslobađaju studenta od obveze preuzimanja programskog zadatka kao završnog zadatka.

#18:  Autor/ica: itizaj PostPostano: 18:56 sri, 18. 4. 2012
    —
javljam se za 14!
Dora Vidakovic

#19:  Autor/ica: Gost PostPostano: 19:07 sri, 18. 4. 2012
    —
Javljam se za 14:30.

Ivan Budimir

#20:  Autor/ica: lajkaLokacija: Zagreb PostPostano: 21:37 sri, 18. 4. 2012
    —
Javljam se za 15h.

Antonia Grbic



Forum@DeGiorgi -> Paralelni algoritmi 1 i 2


output generated using printer-friendly topic mod. Vremenska zona: GMT + 01:00.

Stranica 1 / 1.

Powered by phpBB © 2001,2002 phpBB Group
Theme created by Vjacheslav Trushkin