IN5050 – Programming heterogeneous multi-core architectures

Timeplan, pensum og eksamensdato

Velg semester

Undervisning og eksamen vårsemesteret 2022

I lys av nye koronarestriksjoner vil vi i starten av vårsemesteret 2022 tilrettelegge for digital undervisning, og samtidig forsøke å opprettholde et fysisk tilbud der det er mulig. Vi håper det blir mulig med mer fysisk undervisning senere i semesteret. Se semestersiden, Canvas eller dine vanlige kanaler for eventuelle endringer i undervisning og eksamensform.

Les også om gjennomføring av utsatt eksamen høstsemesteret 2021.

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 lav-strøm-CPUer (ARM), grafikkbehandlingsenheter (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 multimediebelastninger som f.eks. video encoders
  • 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.

Data kommunikasjon (f.eks. IN3230 – Nettverk), 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 plakatpresentasjoner: 9 timer (i sett på 3 timer)
    • Presentasjon er obligatorisk
    • Tilstedeværelse på alle presentasjoner er obligatorisk
    • Kun gyldig i samme semester
  • Tre hjemmeeksaminer
    • Rapporter om plattformsspesifikke valg og prestasjoner (gradert)
    • Arbeidskildekode (gradert)
    • Plakat som illustrerer resultatresultater (obligatorisk, men ikke gradert)

Eksamen

Tre hjemmeeksaminer, hver bestående av kildekode og en rapport.

  • Hver hjemmeeksamen har omtrent like stor vekt (~ 33%)
  • Manglende hjemmeeksamener uten gyldige grunner teller som en F

Alle deler av eksamen må bestås, og i samme semester.

Som eksamensforsøk i dette emnet teller også forsøk i følgende tilsvarende emner: IN9050 – Programming heterogeneous multi-core architectures, INF5063, INF9063

Hjelpemidler til eksamen

Alt, men ingen tekst eller kode kan kopieres ordrett fra andre kilder.

Eksamensspråk

Du kan besvare eksamen på norsk, svensk, dansk eller engelsk.

Karakterskala

Emnet bruker karakterskala fra A til F, der A er beste karakter og F er stryk. Les mer om karakterskalaen

Adgang til ny eller utsatt eksamen

Studenter som dokumenterer gyldig fravær fra ordinær eksamen, kan ta utsatt eksamen i starten av neste semester.

Det tilbys ikke ny eksamen til studenter som har trukket seg under ordinær eksamen, eller som ikke har bestått.

Tilrettelagt eksamen, kildebruk, begrunnelse og klage

Se mer om eksamen ved UiO

Sist hentet fra Felles Studentsystem (FS) 20. jan. 2022 18:16:55

Fakta om emnet

Studiepoeng
10
Nivå
Master
Undervisning
Vår
Eksamen
Vår og høst
Undervisningsspråk
Norsk (engelsk på forespørsel)