Kursplan för Lågnivå-parallellprogrammering

Low-Level Parallel Programming

  • 5 högskolepoäng
  • Kurskod: 1DL550
  • Utbildningsnivå: Avancerad nivå
  • Huvudområde(n) och successiv fördjupning: Datavetenskap A1N

    Förklaring av koder

    Koden visar kursens utbildningsnivå och fördjupning i förhållande till andra kurser inom huvudområdet och examensfordringarna för generella examina:

    Grundnivå
    G1N: har endast gymnasiala förkunskapskrav
    G1F: har mindre än 60 hp kurs/er på grundnivå som förkunskapskrav
    G1E: innehåller särskilt utformat examensarbete för högskoleexamen
    G2F: har minst 60 hp kurs/er på grundnivå som förkunskapskrav
    G2E: har minst 60 hp kurs/er på grundnivå som förkunskapskrav, innehåller examensarbete för kandidatexamen
    GXX: kursens fördjupning kan inte klassificeras.

    Avancerad nivå
    A1N: har endast kurs/er på grundnivå som förkunskapskrav
    A1F: har kurs/er på avancerad nivå som förkunskapskrav
    A1E: innehåller examensarbete för magisterexamen
    A2E: innehåller examensarbete för masterexamen
    AXX: kursens fördjupning kan inte klassificeras.

  • Betygsskala: Underkänd (U), godkänd (3), icke utan beröm godkänd (4), med beröm godkänd (5)
  • Inrättad: 2014-03-13
  • Inrättad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Reviderad: 2018-08-30
  • Reviderad av: Teknisk-naturvetenskapliga fakultetsnämnden
  • Gäller från: vecka 24, 2019
  • Behörighet: 120 hp varav 60 hp datavetenskap inklusive en fortsättningskurs i programmering samt programmering i C.
    Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)
  • Ansvarig institution: Institutionen för informationsteknologi

Mål

Efter godkänd kurs ska studenten kunna:

  • förklara centrala problem inom parallellprogrammering såsom datadistribution, lastbalansering, låsning och synkronisering
  • konstruera parallella algoritmer, dvs. identifiera parallellism i en given algoritm, implementera denna parallellism samt identifiera faktorer som begränsar parallellismen i ett program eller algoritm
  • jämföra olika modeller för högprestanda parallellprogrammering, t.ex. med avseende på prestanda och effektivitet i utvecklingen
  • använda olika modeller för parallellprogrammering och välja lämplig modell utifrån givna förutsättningar som t.ex. datorarkitektur, tillämpning och effektivitet

Innehåll

Introduktion till parallellprogrammering och hårdvara. Centrala problem såsom datadistribution, lastbalansering, låsning och synkronisering. Algoritmer för parallelprogrammering samt faktorer som begränsar parallellism. Modeller för parallellprogrammering, deras för- och nackdelar, jämförelser mellan olika modeller.

Undervisning

Föreläsningar och seminarier. Obligatorisk närvaro vid undervisningstillfällen kan förekomma.

Examination

Aktivt deltagande vid seminarier. Muntlig och skriftlig redovisning av uppgifter och projekt. 

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.

Litteratur

Uppgift om kurslitteratur saknas. Ta kontakt med ansvarig institution för mer information.