Overordnede kursusmål
Nutidens computere med multi-core processorer, samt brug af
grafikkort (GPU) til beregninger, gør det muligt for forskere at
udføre komplekse beregninger på standardhardware. Det er dog kun få
anvendelser, der udnytter den fulde potentielle processorkraft, på
grund af manglende viden og forståelse for, hvordan man skriver og
implementerer effektive programmer og workflows på computere med
moderne arkitekturer, ved at gøre brug af High-Performance
Computing (HPC) metoder.
Dette kursus sætter de studerende i stand til at arbejde med
beregningproblemer fra Scientific Computing og relaterede områder,
og deres effektive og velfungerende implementering. Kurset giver en
introduktion til de færdigheder og værktøjer, der er nødvendige for
at udnytte high-performance computing metoder, og deres anvendelse
og implementering på moderne hardware - fra en enkelt CPU-kerne til
en GPU, og fra en bærbar computer til større HPC installationer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- forklare de fundamentale byggeklodser af moderne cache-baserede
computer systemer samt højtydende grafikkort
- udnytte vekselvirkning mellem komponenter som CPU, GPU, caches
og memory
- analysere performance i Scientific Computing problemer
- anvende optimeringsteknikker på eksisterende koder
- designe parallelle koder for Scientific Computing
problemer
- skrive parallelle programmer med OpenMP
- skrive effektive koder til multi-kerne processorer og
mange-kerne grafikkort
- anvende moderne værktøjer til parallelprogrammering
- designe, udføre, evaluere og dokumentere
computereksperimenter
Kursusindhold
Introduktion til højtydende computere med vægt på de aspekter der
bestemmer computerens ydeevne ved numeriske beregninger for store
problemer. Parallelle computere og grafikkort: arkitektur og
netværk, med vægt på multi-kerne og SMP computere.
Parallel-programmering med OpenMP.
Bemærkninger
Programmering og implementering af C/C++ kode og brug af Linux
kommandolinjen udgør en væsentlig del af kurset, og derfor
anbefales at man har fulgt kursus 02635 (eller et lignende kursus)
før man tager dette kursus! Kontakt venligst den kursusanvarlige
for at høre mere om forudsætninger.
Undervisningsmaterialet består af udleverede noter.
Kurset henvender sig til studerende fra alle master programmer.
Hvis kurset er overtegnet, har studerende fra de retninger der er
listet under 'Kursustype' fortrinsret.
Sidst opdateret
02. maj, 2024