IN5050 – Programming heterogeneous multi-core architectures

Kort om emnet

Emnet omhandler problemstillinger knyttet til heterogene multikjernearkitekturer som finnes i alle databehandlingsenheter, som strekker seg fra mobiltelefoner og varebenker til store dataklynger.

Du vil l?re hvordan asymmetriske kjerner, threadingmodeller, minnehierarkier og interconnectionteknologier bestemmer om beslutninger som blir gjort i parallelle implementeringer av eksempelalgoritmer er vellykkede eller ikke.

Studentene vil f? h?ndfast erfaring med denne utfordringen ved ? programmere tre forskjellige arkitekturer. Gjennom emnet skal studentene forst? de utfordringer som finnes i forbindelse med ? lage effektive programmer for de ulike arkitekturene. Programmering og dokumentasjon av effekten av alternative valg er en viktig del av emnet.

De tre konkrete arkitekturene endrer seg med aktuell relevans for markedet. Forel?pig vil studentene oppleve dedikerte SIMD-enheter i CPUer (ARM), grafikkprosessorer (GPUer, NVidia) og maskiner som er koblet sammen med PCI Express interconnect (Dolphin ICS).

Hva l?rer du?

Etter ? ha fullf?rt emnet vil du:

  • ha forst?else for b?ndene mellom godt parallelliseringsvalg og konkrete parallelle arkitekturer og parallelliseringsrammer (f.eks. tr?der, vektorisering og kombinasjoner).
  • ha kunnskap om ulike m?ter ? l?se parallelliseringsoppgaver p? for alternative parallelliseringsmodeller, minnehierarkier og systemarkitekturer.
  • ha et godt innblikk i evalueringen av alternative design- og implementeringsalternativer for parallellisering avhengig av arkitektur og rammeverk.
  • ha kunnskap rundt det ? finne, forst? og fikse flaskehalser i parallelle programmer
  • ha en forst?else av typiske pipelines for multimedia-arbeidslaster
  • kjenne arkitekturen og rammeverket til tre mye brukte moderne plattformer for parallell programmering
  • kunne programmere og profilere tre mye brukte plattformer
  • ha erfaring med ? presentere en vurdering av alternative probleml?sninger i muntlig, skriftlig og plakatformat

Opptak til emnet

Studenter m? hvert semester?s?ke og f? plass p? undervisningen og melde seg til eksamen? i Studentweb. Studenter tatt opp til andre masterprogrammer kan, etter s?knad, f? adgang til emnet hvis dette er klarert med eget program.

Dersom du ikke allerede har studieplass ved UiO, kan du s?ke om opptak til v?re?studieprogrammer, eller s?ke om ??bli enkeltemnestudent.

Operativsystemer (f.eks. IN3000/IN4000 – Operativsystemer)

Overlappende emner

Undervisning

Emnet vil best? av:

  • Forelesninger: 24 timer (i sett p? 4 timer)
    • Deltakelse er ikke obligatorisk
  • Gruppelesninger: 12 timer (i sett med 3 blokker)
    • Deltakelse er ikke obligatorisk
  • Tre muntlige, interaktive