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, 19 maj 2014
- Ansvarig institution
- Institutionen för informationsteknologi
Behörighetskrav
120 hp inklusive matematik 30 hp, Programmeringsteknik II och Beräkningsvetenskap I eller motsvarande.
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).