Y-sektionens studienämnd är ansvariga för att informationen på guiden är aktuell. Om du hittar någonting som inte stämmer kan du mejla SNY.

Budgetår


Institution

IDA

Examinator

Christoph Kessler

Schemablock

Halvtermin

VT2: block 2

Huvudområden

Datateknik
Datavetenskap

Nivå

A1X

Tidsfördelning

6,0HP
Schemalagd tid: 52 timmar
Självstudietid: 108 timmar

SNY har ordet

Parallelldatorer används för att lösa tunga beräkningsproblem. Studenten ska tillägna sig kunskap om programmering av parallelldatorer och behärska ett urval metoder och hjälpmedel. Kursen skall även ge inblick i hur pa- rallelldatorer kan utnyttjas för några tillämpningsområden, såsom bildanalys och tekniska beräkningar. Laborationskursen ger praktisk kunskap om programmering av parallella datorsystem, olika programmeringsparadigmer används. I labora- tionsdelen av kursen används en superdator vid National Supercomputer Centre. Vid storskaliga tekniska beräkningar, såsom simulationer och automatiserad analys av massiv experimentell data, kommer denna kurs till användning.

Kursutvärderingar

Logga in för att läsa kursutväderingar

Innehåll

Arkitekturen hos parallelldatorsystem: Minneshierarkier, delat minne samt distribuerade minnesarkitekturer. Vektoroperationer. Parallella exekveringsmodeller och språk. Prestandamätning och uppsnabbning. Meddelandesändningsbaserad programmering, multithreading respektive dataparallell programmering. Design och analys av grundläggande parallella algoritmer. Tidskomplexitet. Skalbarhet. Schemaläggning av parallellprogram. Verktyg för parallellprogrammering. MPI (Message Passing Interface) och OpenMP. Grundläggande parallella numeriska algoritmer och BLAS (Basic Linear Algebra Subprograms). Tillämpningsområden för parallellprogrammering. Parallell lösning av ekvationssystem.
Laborationskursen ger praktisk kunskap om programmering av parallella datorsystem, olika programmeringsparadigmer används.

Mål

Paralleldatorer används för att lösa tunga beräkningsproblem. Studenten ska tillägna sig kunskap om programmering av parallelldatorer och behärska ett urval metoder och hjälpmedel. Kursen skall även ge inblick i hur parallelldatorer kan utnyttjas för några tillämpningsområden, såsom bildanalys och tekniska beräkningar. Efter kursen ska studenten kunna

  • använda effektiva metoder och språk för programmering av parallella datorarkitekturer,
  • programmera parallelldatorer med distribuerat minne (MPI) och delat minne (OpenMP).

Examinationsmoment

TEN1 - 3,0 HP
Skriftlig tentamen (U, 3, 4, 5)
LAB1 - 3,0 HP
Laborationskurs (U, G)

Examination

Uppgifterna på tentamen testar hur väl studenten uppfyller kursens mål. För godkänt betyg kan brister i uppfyllande av vissa delar av målen i någon mån kompenseras med ett djupare kunnande inom andra delar.

Organisation

Föreläsningarna behandlar teori och principer, medan laborationerna ger praktiska övningar i parallell programmering och användning av lämpliga verktyg. Laborationskursen använder superdatorressurser vid National Supercomputer Center.

Litteratur

C. Kessler: Programming of parallel computers - Compendium OHs, finns tillgänglig för registrerade kursdeltagare på kurshemsidan. L. Elden, H. Park and Y. Saad. Scientific Computing on High Performance Computers (compendium), finns tillgänglig för registrerade kursdeltagare på kurshemsidan. Labb-kompendium, finns på kurshemsidan. För ytterligare kurslitteratur se kursens hemsida.

Rekommenderade förkunskaper

Grundkurser i programmering. Det rekommenderas en kurs i processprogrammering eller liknande, eftersom förståelse för processbegreppet förutsätts. Programmeringsövningar erfordrar programmeringskunskaper i C/C++.

Påbyggnadskurser

Multicore- och GPU-Programmering
TDDD56 - 6,0 HP - HT2 block 2

Kommentarer

Logga in för att kunna läsa och skriva kommentarer.