Kursen syftar till att ge en introduktion till ämnet parallell programmering. Fokuset ligger på datorsystem med såväl delat minne som distribuerat minne. Sådana förekommer i allt från bärbara datorer och mobiltelefoner till världens mest kraftfulla superdatorer. Kursen förmedlar både teoretisk kunskap och praktiska färdigheter som behövs för att konstruera och resonera kring effektiva parallella program. Kursen behandlar teoretiska och praktiska verktyg som används för att utvärdera kvaliteten i parallella program, samt de två vanligaste parallella programmeringsmodellerna: OpenMP och MPI. Dessutom behandlas parallella datorers arkitektur, parallella programmeringsmönster, synkronisering, beroenden, avlusning och profilering av parallell kod.
Förväntade studieresultat
Kunskap och förståelse Efter avslutad kurs ska studenten kunna:
(FSR 1) förklara koncept och terminologi relaterade till mätning och utvärdering av parallella programs prestanda, minneshierkier och vektorinstruktioner;
(FSR 2) förklara koncept och terminologi relaterade till parallell programmering för system med såväl delat minne som distribuerat minne, med fokus på programmeringsmodellerna OpenMP och MPI;
(FSR 3) identifiera orsaker och lösningar till begränsad parallellitet.
Färdighet och förmåga Efter avslutad kurs ska studenten kunna:
(FSR 4) utföra uppgiftsuppdelning, beroendeanalys och schemaläggning;
(FSR 5) implementera parallella program med hjälp av OpenMP och MPI;
(FSR 6) mäta, utvärdera och presentera parallella programs prestanda.
Värderingsförmåga och förhållningssätt Efter avslutad kurs ska studenten kunna:
(FSR 7) utifrån givna riktlinjer utvärdera ett parallellt program.
Behörighetskrav
Minst 90 hp varav minst 60 hp datavetenskap eller två år inom program. Minst 15 hp programmering; 7,5 hp datastrukturer och algoritmer; 7,5 systemprogrammering. Engelska för grundläggande behörighet för högskolestudier.
Undervisningens upplägg
Undervisningen bedrivs i form av föreläsningar, gruppövningar och handledning. Utöver de schemalagda aktiviteterna krävs även eget arbete med materialet.
Examination
Prestationerna på kursen bedöms genom inlämningsuppgifter och en skriftlig salstentamen. På kursen ges något av betygen Underkänd (U), Godkänd (3), Icke utan beröm godkänd (4) eller Med beröm godkänd (5). För att bli godkänd på hela kursen krävs att samtliga prov och obligatoriska moment är godkända. Betyget utgör en sammanfattande bedömning av resultaten vid examinationens olika delar och sätts först när alla obligatoriska moment är godkända.
Anpassad examination Examinator kan besluta om avsteg från kursplanens examinationsform. Individuell anpassning av examinationsformen ska övervägas utifrån studentens behov. Examinationsformen anpassas inom ramen för kursplanens förväntade studieresultat. Student som har behov av en anpassad examination ska senast 10 dagar innan examinationen begära anpassning hos Institutionen för datavetenskap. Examinator beslutar om anpassad examination som sedan meddelas studenten.
Övriga föreskrifter
Kursen får inte räknas i en examen tillsammans med kursen 5DV152.
Om kursplanen har upphört att gälla eller kursen slutat erbjudas garanteras en student som någon gång registrerats på kursen minst tre provtillfällen (inklusive ordinarie provtillfälle) enligt denna kursplan under en tid av maximalt två år från det att kursplanen upphört att gälla eller kursen slutat erbjudas.