Primenjeno paralelno programiranje

Primenjeno paralelno programiranje

Uključene obrazovne institucije

Elektrotehnički fakultet / Fakultet organizacionih nauka, Univerzitet u Beogradu

Upoznavanje sa osnovnim konceptima modernih paralelnih računarskih sistema i principa paralelnog programiranja. Detaljno upoznavanje sa nekoliko najznačajnijih paralelnih programskih modela.

Predmet treba da osposobi studenta da razume projektne odluke u oblasti paralelnih sistema i da praktično primenjuje principe paralelnog programiranja korišćenjem različitih paralelnih programskih modela.

Teorijska nastava

Uvod u paralelno računarstvo. Trendovi aplikacija, tehnologije i arhitektura. Paralelni programski modeli (zajednička memorija, slanje poruka i paralelizam podataka). Tehnike paralelizacije programskog koda i dekompozicije problema. Programski modeli bazirani na nitima (Pthreads, OpenMP) i razmeni poruka (MPI). Programiranje aplikacija opšte namene na grafičkim procesorima korišćenjem CUDA i OpenCL tehnologija. Optimizacija paralelnog programskog koda.

Praktična nastava

Upoznavanje sa tehnikama paralelizacije i konkretnim programskim modelima kroz praktičan rad na paralelizaciji sekvencijalnog programskog koda. Laboratorijske vežbe, korišćenje simulatora paralelnih sistema i alata za debagovanje i profajliranje programskog koda, domaći zadaci.