föreningen uppsala tekniska fysiker

Programmering av parallelldatorer

Behörighet: 120 hp inklusive matematik 30 hp, Programmeringsteknik II och Beräkningsvetenskap I eller motsvarande.

Innehåll: Kursen behandlar olika typer av parallelldatorer, från bärbara datorer med flerkärniga processorer till storskaliga PC-kluster. Klassificering av parallelldatorer: olika typer av minnesorganisation, processorer, nätverk och programkontroll. Olika former av parallellism.
Programmeringsmodeller: programmering i lokal namnrymd med MPI och i global namnrymd med OpenMP och Pthreads (Posix-threads). Grid-computing och middleware. Prestandamått: Speedup, effektivitet, flops. Diskussion om brister med dessa mått, samt förslag till alternativ.
Parallellisering av grundläggande algoritmer i numerisk linjär algebra: matris-vektor-multiplikation och matris-matris multiplikation. Parallellisering av algoritmer inom några av områdena lösning av fyllda linjära ekvationssystem, grafalgoritmer eller sökning och sortering.
I kursen ingår ett projektarbete.