Kursen syftar till att ge en introduktion till ämnet parallell programmering med fokus på datorsystem baserade på multicore-processorer. Sådana förekommer idag i allt från bärbara datorer och mobiltelefoner till världens mest kraftfulla superdatorer. Kursen förmedlar teoretisk kunskap och praktiska färdigheter som behövs för att konstruera och resonera kring effektiva parallella program. Kursen behandlar bland annat de parallella programmeringsmodellerna OpenMP och MPI, parallella datorers arkitektur, design och implementation av parallella program, experimentell metodik, parallella programmeringsmönster och diverse problem som kan uppstå vid parallell programmering.
Förväntade studieresultat
Kunskap och förståelse Efter avslutad kurs ska studenten kunna:
(FSR 1) definiera och med egna ord förklara begrepp och termer inom parallell programmering för multicore-baserade system med särskilt fokus på programmeringsmodellerna OpenMP och MPI samt redogöra för aktuella trender inom parallella datorarkitekturer såsom multicore, minneshierarkier och vektorinstruktioner;
(FSR 2) redogöra för parallella programmeringsmönster.
Färdighet och förmåga Efter avslutad kurs ska studenten kunna:
(FSR 3) utföra uppgiftsuppdelning, beroendeanalys och schemaläggning;
(FSR 4) implementera parallella program med hjälp av OpenMP och MPI;
(FSR 5) utföra experiment vars syfte är att utvärdera ett parallellt programs prestanda samt tydligt presentera och diskutera erhållna resultat.
Värderingsförmåga och förhållningssätt Efter avslutad kurs ska studenten kunna:
(FSR 6) utifrån givna riktlinjer utvärdera ett parallellt program.
Behörighetskrav
Minst 90 hp varav minst 60 hp datavetenskap eller minst 120 hp inom ett 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 utifrån ett antal obligatoriska laborations- och inlämningsuppgifter samt en skriftlig tentamen. 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
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.
Litteratur
Giltig från:
2023 vecka 30
Pacheco Peter S. An introduction to parallel programming Amsterdam : Morgan Kaufmann : c2011 : xix, 370 p. : ISBN: 9780123742605 (hardback) Obligatorisk Se Umeå UB:s söktjänst
Artiklar som tillhandahålls av institutionen Institutionen för datavetenskap :