Programmering av parallelldatorer
Kursplan, Avancerad nivå, 1TD480
Kursen är avvecklad.
- Kod
- 1TD480
- Utbildningsnivå
- Avancerad nivå
- Huvudområde(n) med fördjupning
- Datavetenskap A1N, Teknik A1N, Tillämpad beräkningsvetenskap A1N
- Betygsskala
- Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
- Fastställd av
- Teknisk-naturvetenskapliga fakultetsnämnden, 30 augusti 2018
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
120 hp inklusive matematik 30 hp, Programmeringsteknik II och Beräkningsvetenskap I eller motsvarande. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)
Mål
Efter godkänd kurs ska studenten kunna:
- redogöra för olika typer av parallelldatorer;
- programmera olika typer av parallelldatorer, från bärbara datorer med flerkärniga processorer till storskaliga PC-kluster, dvs. kunna hantera olika programmeringsmodeller;
- konstruera parallella algoritmer, dels kunna identifiera parallellism i en given algoritm, dels kunna implementera denna parallellism;
- identifiera de faktorer som begränsar parallellismen i ett program eller algoritm;
- välja lämplig parallell programmeringsmodell utifrån givna förutsättningar som t.ex. datorarkitektur, tillämpning och effektivitet.
Innehåll
Kursen behandlar olika typer av parallelldatorer, från bärbara datorer med flerkärniga processorer till storskaliga PC-kluster. Klassificering av parallelldatorer: olika typer av minnesorganisation, processorer, nätverk och programkontroll. Olika former av parallellism.
Programmeringsmodeller: programmering i lokal namnrymd med MPI och i global namnrymd med OpenMP och Pthreads (Posix-threads). Orientering om andra programmeringsmodeller och implememtationer, t.ex. UPC (Unified parallel C) och MATLAB Parallel Toolbox. Programmering av grafikkort. Prestandamått: Speedup, effektivitet, flops.
Parallellisering av grundläggande algoritmer i numerisk linjär algebra och inom sortering: matris-vektor-multiplikation och matris-matris multiplikation, Quicksort. Parallellisering av algoritmer inom något av områdena lösning av linjära ekvationssystem, partiella differentialekvationer, molekyldynamik (N-kroppssimulering) eller grafalgoritmer.
Undervisning
Föreläsningar, laborationer och obligatoriska inlämningsuppgifter. Projektarbete. Gästföreläsning.
Examination
Skriftligt prov (6 hp) samt inlämningsuppgifter och projekt (4 hp).
Om särskilda skäl finns får examinator göra undantag från det angivna examinationssättet och medge att en enskild student examineras på annat sätt. Särskilda skäl kan t.ex. vara besked om särskilt pedagogiskt stöd från universitetets samordnare för studenter med funktionsnedsättning.