IN5050 – 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, laptoper og arbeidsstasjoner, 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 heterogene 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 (NVidia) og maskiner som er koblet sammen med PCI Express (Dolphin ICS).
Hva lærer du?
Etter å ha fullført emnet vil du:
- ha forståelse for sammenhengen 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 utbedre flaskehalser i parallelle programmer
- kjenne arkitekturen og rammeverket til tre mye brukte moderne plattformer for parallell programmering
- kunne programmere 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.
Anbefalte forkunnskaper
Overlappende emner
- 10 studiepoeng overlapp med IN9050 – 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 vil bestå av:
- Forelesninger: 30 timer (i sett på 2 timer)
- Deltakelse er ikke obligatorisk
- Tre muntlige, interaktive presentasjoner: 6 timer (i sett på 2 timer)
- Presentasjon er obligatorisk
- Tilstedeværelse på alle presentasjoner er obligatorisk
- Kun gyldig i samme semester
- Tre hjemmeeksaminer
- Rapporter om plattformsspesifikke valg og prestasjoner (karakter)
- Arbeidskildekode (karakter)
- Designdokument (obligatorisk, men ikke karakter)
- Plakat som illustrerer resultatresultater (obligatorisk, men ikke karakter)
Eksamen
Studentene blir vurdert på bakgrunn av mappeevaluering, som omfatter 3 prosjektoppgaver da innleveringen av hver oppgave omfatter kildekode, rapport og muntlige presentasjoner.
- Hver prosjektoppgave har omtrent like stor vekt (~ 33%)
- Manglende prosjektoppgave uten gyldige grunner teller som en F
Hele mappen må bestås i samme semester, det er ikke mulig å overføre deler til et annet 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
Eksamensspråk
Karakterskala
Adgang til ny eller utsatt eksamen
Mer om eksamen ved UiO
- Kildebruk og referanser
- Hvordan bruke KI som student
- 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.