Overordnede kursusmål
Kurset fokuserer på en bred introduktion til parallelprogrammering
med fokus på anvendelig viden. Kurset introducerer
industristandarder som MPI, OpenMP og OpenCL. Bredt tilgængelige
arkitekturer der understøtter parallelitet studeres, inklusiv
systemer for indlejret og mobil brug.
Fundamental og praktisk teori som programmeringsmodeller,
performance-modeller og programmeringsmønstre studeres.
Målet med kurset er at de studerende vil være i stand til at løse
simple parallelprogrammerings opgaver som at gøre et program
race-free og tage en lille del af et sekventielt program og gøre
det parallelt ved at bruge industristandard
parallelprogrammeringssystemer. Studerende vil også være i stand
til empirisk at evaluere performance af det parallelle system.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- kategorisere parallelle computersystemer.
- forklare performance-påvirkningen af
hukommelseshierarkiet.
- skrive små parallelprogrammer ved hjælp af industristandard
parallelprogrammeringssystemer.
- skitsere principperne for almene parallelle
programmeringsmodeller.
- bruge synkroniseringsmekanismer til at skrive race-free
programmer.
- bruge message-passing til at skrive distribuerede parallelle
programmer.
- evaluere performance af parallelle programmer og
computersystemer ved hjælp af empiriske metoder.
- identificere flaskehalse i parallelle
computersystemer.
Kursusindhold
Parallelle computersystemer: Flynn's taksonomi, udfordringer
ved parallelle computersystemer, multi-core systemer, GPUer,
acceleratorer, effekter fra cache og hukommelseshierarki.
Parallelle programmeringsmodeller: message-passing modeller,
delt-hukommelse modeller, task-modeller, dataparallelle modeller.
Synkronisering af tråde og processer: message-passing, gensidig
udelukkelse, race conditions, mutexer, semaforer, transaktioner.
Parallelle programmeringsmønstre: fork-join, master-slave,
parallelle datastrukturer.
Parallelle programmeringssystemer: MPI, OpenMP, OpenCL,
trådbiblioteker.
Performancemodeller og -analyser: Amdahls lov, empirisk
performanceanalyse.
Sidst opdateret
28. oktober, 2016