Overordnede kursusmål
Multi-core computere, og brug af GPU'er, gør det muligt for
forskere at udføre komplekse beregninger på økonomisk overkommeligt
hardware. 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) teknologier.
Dette kursus sætter de studerende i stand til at arbejde med
beregningsmæssige problemer 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 udnyttehigh-performance computing metoder, og
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 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
- udføre og dokumentere computer eksperimenter
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.
Kurset er en forudsætning for kurset 02616 Storskala modellering.
Sidst opdateret
02. maj, 2022