02613 Python og High-Performance Computing

2024/2025

Kursusinformation
Python and High-Performance Computing
Engelsk
5
Kandidat
Retningsspecifikt kursus (MSc), Autonomous Systems
Retningsspecifikt kursus (MSc), Human-Centered Artificial Intelligence
Retningsspecifikt kursus (MSc), Mathematical Modelling and Computation
Tilvalgskursus (B Eng), Mobilitet, transport og logistik
F5A (ons 8-12)
Campus Lyngby
Forelæsninger og computer øvelser.
13-uger
F5A
Skriftlig eksamen
Det er en forudsætning for at gå til eksamen, at man har fået godkendt en vis del af de obligatoriske opgaver. Disse opgaver indgår ikke i den endelige eksamensbedømmelse.
Skriftlig eksamen: 4 timer
Alle hjælpemidler - uden adgang til internettet
7-trins skala , ekstern censur
02002/02003 , eller tilsvarende erfaring med programmering i Python er påkrævet. Kendskab til Linux-kommandolinjen og programmering af shell-scripts.
Matthias Bo Stuart , Lyngby Campus, Bygning 322 , mbst@dtu.dk
Sven Karlsson , Tlf. (+45) 4525 3754 , svea@dtu.dk
Bernd Dammann , Lyngby Campus, Bygning 303B, Tlf. (+45) 4525 3371 , beda@dtu.dk
Patrick Møller Jensen , Lyngby Campus, Bygning 324 , patmjen@dtu.dk
01 Institut for Matematik og Computer Science
I studieplanlæggeren
Overordnede kursusmål
Dette kursus udstyrer studerende med de væsentligste færdigheder til effektivt at håndtere omfattende beregningsproblemer inden for videnskabelig databehandling og beslægtede områder ved brug af Python-programmeringssproget. Python er særligt kraftfuld, når det kombineres med specialiserede moduler som NumPy til numeriske og videnskabelige beregninger, men det at forstå, hvordan man udnytter dets potentiale for højtydende databehandling (HPC), er ikke altid ligetil. I mange anvendelser udnyttes den tilgængelige regnekraft ikke fuldt ud på grund af manglende viden om implementering af effektive programmer og arbejdsgange. Dette kursus adresserer dette ved at give studerende en introduktion til HPC-metoder inden for Python, hvilket gør det muligt for dem at implementere og udrulle effektive løsninger på forskellig hardware fra personlige computere til større HPC-installationer. Gennem dette kursus vil studerende lære at udnytte Python og moderne computerarkitekturers fulde potentiale til effektivt at tackle komplekse beregningsmæssige udfordringer.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
  • forklare fundamentale performance-aspekterne af moderne multi-core computersystemer og GPU'er
  • udnytte samspillet mellem hardware (CPU, GPU, hukommelseshierarki og I/O) og softwarekomponenter (Python-kode, biblioteker)
  • analysere scientific computing problemer og implementere effektive løsninger
  • gøre brug af forskellige beregningsressourcer
  • identificere performance-flaskehalse i Python-programmer
  • forbedre performance af Python-programmer
  • anvende paralleliseringsteknikker ved hjælp af Python
  • udføre og dokumentere computereksperimenter (performance målinger)
  • evaluere performance og skalerbarhed af parallele programmer
  • bruge etablerede analytiske evalueringsmodeller, såsom modeller for ressourceforbrug
Kursusindhold
Introduktion til high-performance computere med vægt på de aspekter, der er vigtige i forbindelse med store beregningstunge problemer.
Multi-core computere og GPU'er: introduktion til arkitektur med vægt på anvendeligheden fra et high-level sprog som Python.
Værktøjer til at måle performance.
Brug af Python og relevante moduler.
Performance-udfordringer ved brug af Python-sproget.
Effektive numeriske beregninger med NumPy.
Parallel programmering med Python og optimerende sprogudvidelser.
GPU-programmering med Python.
Design af effektive arbejdsgange til at løse problemer på forskellige platforme.
Brug af moderne HPC-installationer.
Bemærkninger
Programmering og implementering af Python-kode samt brug af Linux-kommandolinjen er en væsentlig del af kurset.
Sidst opdateret
12. november, 2024