Programmering av parallelldatorer

10 hp

Kursplan, Avancerad nivå, 1TD480

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.

FÖLJ UPPSALA UNIVERSITET PÅ

facebook
instagram
twitter
youtube
linkedin