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
Kursinnehå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.
Förutsättningar
120 hp varav 60 hp datavetenskap inklusive programmering i C och en fortsättningskurs i programmering. Engelska 6. (Med en svensk kandidatexamen uppfylls kravet på engelska.)