DM853: Introduktion til Parallel Computing (5 ECTS)

STADS: 15018801

Niveau
Kandidatkursus

Undervisningsperiode
Kurset er placeret i efterårssemesteret.

Ansvarlige undervisere
Email: daniel@imada.sdu.dk

Skemaoplysninger
Hold Type Dag Tidsrum Lokale Uger Kommentar
Fælles I Tirsdag 08-10 IMADA semi 36,38,40,43-45,47,49,51
Fælles I Onsdag 12-14 IMADA semi 36-41,43-51
Vis hele skemaet
Vis personligt skema for dette kursus.

Kommentar:
Ubegrænset deltagerantal.

Indgangskrav:
Bestået bachelorgrad i datalogi, fysik, matematik, anvendt matematik, matematik-økonomi eller tilsvarende.

Faglige forudsætninger:
Studerende, der følger kurset, forventes at:

  • kunne designe og implementere programmer, ved hjælp af standard algoritmiske tilgange og datastrukturer
  • kunne vurdere kompleksitet af algoritmer, såvel med hensyn til køretid som med hensyn til pladsforbrug.


Formål
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 (algoritmer til grafteori og dynamisk programmering) og algoritmer for scientific computing (såsom matricemultiplikation) vil blive gennemgået. Deltagerne vil lære at bruge de mest udbredte programmeringsstandarder for parallel programmering (MPI, OpenMP), og vil lære at analysere effektiviteten af parallelle programmer ved hjælp af metrikker for skalerbarhed.

Kurset bygger oven på den viden, der er erhvervet i kurset DM507 Algoritmer og datastrukturer. Kurset giver et videnskabeligt grundlag for at skrive et speciale, der sigter på at anvende Parallel Computing til problemer i datalogi eller andre discipliner, herunder kemi, fysik eller biologi.

I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på at:

  • Give viden om et udvalg af specialiserede modeller og metoder udviklet inden for datalogi baseret på højeste internationale forskning, herunder emner fra fagets forskningsfront.
  • Give viden om datalogiske modeller og metoder beregnet til anvendelser i andre faglige områder.
  • Beskrive, analysere og løse avancerede datalogiske problemstillinger ved hjælp af de lærte modeller.
  • Belyse fremsatte hypoteser på kvalificeret teoretisk baggrund og forholde sig kritisk til egne og andres forskningsresultater og videnskabelige modeller.
  • Udvikle nye varianter af de lærte metoder, hvor det konkrete problem kræver det.
  • Formidle forskningsbaseret viden og diskutere professionelle og videnskabelige problemstillinger med både fagfæller og ikke-specialister.
  • Planlægge og udføre videnskabelige projekter på højt fagligt niveau herunder styre arbejds- og udviklingssituationer, der er komplekse, uforudsigelige og forudsætter nye løsningsmodeller.
  • Kunne tage ansvar for egen faglig udvikling og specialisering.
  • Kunne igangsætte og gennemføre fagligt og tværfagligt samarbejde og påtage sig professionelt ansvar.


Målbeskrivelse
For at opnå kursets formål er det læringsmålet for kurset, at den studerende demonstrerer evnen til at:

  • 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 implementering af eksempelprogrammer.
  • Foretage empiriske målinger af parallelle programmer og uddrage relevante konklusioner heraf.
Indhold
Kurset indeholder følgende faglige hovedområder: Platforme for parallel programmering, 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.

Litteratur
    Meddeles ved kursets start.


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

Forudsætningsprøver
Programmeringsopgaver. Bestået/ikke-bestået, intern bedømmelse ved underviser (15018812)

Eksamen- og censurform:
Mundtlig eksamen uden hjælpemidler. Ekstern censur, 7-trinsskala (15018802)

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

Aktiviteter i studiefasen

Undervisningsform
Aktiviteter i studiefasen:

  • Anvendelse af den tilegnede viden i projekter
  • Sammenfatning af videnskabelige artikler/bogkapitler.


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

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 2016.