IN9050 – Programming heterogeneous multi-core architectures
Beskrivelse av emnet
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 tatt 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 om ? finne, forst? og fastsette flaskehalser i parallelle programmer
- ha en forst?else av typiske pipelines for multimediebelastninger som f.eks. video encoders
- kjennskap til arkitekturen og rammen til tre mye brukte moderne plattformer for parallell programmering
- ha erfaring med ? presentere en vurdering av alternative probleml?sninger i muntlig, skriftlig og plakatformat
- ha innblikk i det nyeste innen parallellisering for en valgt plattform
- ha erfaring i ? parallellisere en virkelig arbeidsbelastning
- ha erfaring med ? presentere forelesning til masterstudenter
Opptak til emnet
Ph.d.-kandidater ved UiO s?ker plass p? undervisningen og melder seg til eksamen i Studentweb. Hvis emnet har begrenset kapasitet, vil ph.d.-kandidater som har emnet i sin utdanningsplan ved UiO bli prioritert.
Ph.d.-kandidater som har opptak ved andre utdanningsinstitusjoner m? innen angitt frist s?ke om hospitantplass.
Anbefalte forkunnskaper
Data kommunikasjon (IN3230 – Nettverk), operativsystemer (som f.eks. IIN3000/IN4000 – Operativsystemer)
Overlappende emner
- 10 studiepoeng overlapp med IN5050 – Programming heterogeneous multi-core architectures.
- 10 studiepoeng overlapp med INF5063 – Programming heterogeneous multi-core architectures (videref?rt).
- 10 studiepoeng overlapp med INF9063 – Programming heterogeneous multi-core architectures (videref?rt).
- 5 studiepoeng overlapp med INF5062 – Programming asymmetric multi-core processors (nedlagt).
Undervisning
Emnet best?r av:
- Forelesninger: 24 timer (for tiden i 4 bolker)
- Det er ikke obligatorisk ? delta
- Gruppelesninger: 12 timer (i 4 bolker)
- Det er ikke obligatorisk ? delta
- Tre muntlige, interaktive plakatpresentasjoner: 9 timer (i 3 bolker)
- Presentasjon av det omfattende prosjektets fremgang er obligatorisk
- Tilstedev?relse av alle presentasjoner er obligatorisk
- Kun gyldig i samme semester
- En hjemmeeksamen
- Rapport om bakgrunnen til den omfattende real-world applikasjonen som er gjenstand for parallellisering, relatert arbeid, plattformspesifikke valg og ytelsesvurdering (best?tt/ikke best?tt)
- Fungerende kildekoden (best?tt/ikke best?tt)
- Plakat som illustrerer ytelsesresultater (obligatorisk, men ikke gitt karakter)
- En 30-minutters forelesning om et bestemt real-world testproblem
Eksamen
En hjemmeeksamen best?ende av kildekode, en rapport og en presentasjon gjort i form av en forelesning.
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:?IN5050 - Programmering av heterogene multi-core arkitekturer,?INF5063 - Programming heterogeneous multi-core architectures (videref?rt),?INF9063 - Programming heterogeneous multi-core architectures (videref?rt)
Hjelpemidler til eksamen
Alt, men ingen tekst eller kode kan kopieres ordrett fra andre kilder.
Karakterskala
Emnet bruker karakterskala?best?tt/ikke best?tt. Les mer om?karakterskalaen.
Adgang til ny eller utsatt eksamen
I dette emnet tilbys det ikke utsatt eksamen for eksamenskandidater som er syke f?r eksamen eller som blir syke under eksamen. Det kan tilbys utsatt innleveringsfrist. Sykdommen m? dokumenteres med legeattest datert senest p? ordin?r innleveringsdato. Du m? levere legeattesten til Studieadministrasjonen ved IFI innen innleveringsfristen for hjemmeeksamen.
Mer om eksamen ved UiO
- Kildebruk og referanser
- Tilrettelegging p? eksamen
- Trekk fra eksamen
- Syk p? eksamen / utsatt eksamen
- Begrunnelse og klage
- Ta eksamen p? nytt
- Fusk/fors?k p? fusk
Andre veiledninger og ressurser finner du p? fellessiden om eksamen ved UiO.