ES800: Parallel Computing in Science (5 ECTS)

STADS: 15013801

Niveau
Kandidatkursus

Undervisningsperiode
Kurset er placeret i efterårssemesteret.

Ansvarlige undervisere
Email: daniel@imada.sdu.dk

Skemaoplysninger
Der er ingen skemaoplysninger for den valgte periode.

Indgangskrav:
Ingen

Faglige forudsætninger:
Grundlæggende viden omkring C-programmering skal være kendt. Det er en fordel at have en grundlæggende viden omkring algoritmer, data strukturer og kompleksitet.

Kursusintroduktion
Målet med kurset er at introducere deltagerne til beregning på parallelle computere, herunder til maskinarkitekturer, programmeringsparadigmer, algoritmer og programmeringsstandarder. Både algoritmer for klassiske datalogiske problemer (såsom sortering, søgning og dynamisk programmering) og algoritmer for scientific computing (såsom matrixmultiplikation) vil blive gennemgået. Deltagerne vil lære at bruge de mest udbredte programmeringsstandarder for parallel programmering (MPI, Pthreads, OpenMP), og vil lære at analysere effektiviteten af parallelle programmer ved hjælp af metrikker for skalerbarhed.

Forventet læringsudbytte
Ved kursets afslutning forventes den studerende at kunne:

  • i klart og præcist sprog beskrive de teknikker og algoritmer som er gennemgået i kurset
  • analysere de parallelle algoritmer og arkitekturer som er gennemgået i kurset med hensyn til både effektivitet og skalerbarhed
  • anvende parallelle programmeringsteknikker og algoritmer som er gennemgået i kurset til implementation af eksempelprogrammer
  • foretage empiriske målinger af parallelle programmer og uddrage relevante konklusioner heraf
Emneoversigt
Platforme for parallel programmering, principper for design af parallelle algoritmer, fundamentale kommunikationsoperationer, modellering og analyse af parallelle programmer, programmering ved hjælp af message passing paradigmetet, programmering af arkitekturer med shared address space, dense matrix algoritmer, sortering, grafalgoritmer, søgealgoritmer for diskrete optimeringsproblemer, dynamisk programmering, fast fourier transformation.

Litteratur
Der er i øjeblikket ikke angivet nogle materialer for kurset.

Kursets hjemmeside
Dette kursus benytter e-learn (blackboard).

Forudsætningsprøver
Programmeringsopgaver. Det er en forudsætning for at deltage i eksamens, at opgaverne er bestået. (15013812)

Eksamen- og censurform:
Mundtlig eksamen, Bestået/ikke-bestået, ekstern censur (5 ECTS). (15013802)

Reeksamen i samme eksamenstermin eller i umiddelbar forlængelse heraf.

Vejledende timetal
På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen dvs. intro, trænings- og studiefasen.
Introfase: 21 timer
Træningsfase: 21 timer, heraf:
 - Eksaminatorie: 21 timer

Aktiviteter i studiefasen

Sprog
Dette kursus undervises på dansk eller engelsk, afhængigt af underviseren. Dog altid på Engelsk ved deltagelse af internationale studerende.

Bemærkninger
Kurset undervises fælles med DM818 Parallel Computing.

Kursustilmelding
Se tilmeldingsfrister.

Pris for åben uddannelse
Se priser for enkeltkurser.

Dette er den nyeste version af en kursusbeskrivelse, som trådte i kraft den 1. sep 2013.