Forelæsning, øvelser i databar og computer-projekter.
Kursets varighed:
3-uger
Evalueringsform:
Hjælpemidler:
Bedømmelsesform:
Tidligere kursus:
04310
Pointspærring:
Anbefalede forudsætninger:
Deltagerbegrænsning:
Maksimum: 50
Overordnede kursusmål:
Fremkomsten af effektive multi-core computere har givet forskere
muligheder for at udføre komplicerede simuleringer på økonomisk
overkommeligt hardware, men kun få af anvendelserne udnytter
mulighederne tilstrækkeligt godt. Dette skyldes mangel på viden og
erfaring i at skrive effektive programmer til high-performance
computere med moderne arkitekturer.
Dette kursus giver en introduktion til de færdigheder, der kræves
for at udnytte mulighederne i high-performance computing. Det giver
viden om organisering og analyse af software og præsenterer metoder
og værktøjer til dette.
Kurset sætter deltagerne i stand til at arbejde med stor-skala
problemer i Scientific Computing og deres implementering på moderne
cache-baserede multi-core/multi-CPU computere. Kurset indeholder
desuden en introduktion og praktiske øvelser i at anvende CUDA
programmeringsmodellen for heterogene CPU-GPU systemer.
Læringsmål:
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
forstå de fundamentale byggeklodser af moderne cache-baserede
computer systemer samt højtydende grafikkort
forstå vekselvirkning mellem komponenter som CPU, GPU, caches
og memory
analysere Scientific Computing problemer
bruge moderne programmeringsværktøjer
anvende optimeringsteknikker på eksisterende koder
skelne mellem forskellige computer arkitekturer
vælge den optimale hardware-platform for en opgave
designe og skrive parallelle koder for Scientific Computing
problemer
skrive parallelle programmer med OpenMP og CUDA
skrive effektive koder til multi-kerne processorer og
mange-kerne grafikkort
bruge 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 på store
datasæt. Parallelle computere og grafikkort: arkitektur og netværk,
med vægt på multi-kerne og SMP computere. Parallel-programmering
med OpenMP samt CUDA.
Bemærkninger:
Programmering og implementering udgør en væsentlig del af kurset.
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.
Kurset er en forudsætning for kurset 02616 Storskala
modellering.