T12.3 Akseleratorer Flashcards
⭐️ Hva er en heterogen datamaskin?
Har beregningsenheter med ulike egenskaper
⭐️ Hvorfor er datamaskiner med høy ytelse typisk heterogene?
- Energieffektive: Bruker mindre energi på å hente og dekode instruksjoner
- Benytter seg av generelle CPUer og akseleratorer, som er mer effektive for spesifikke oppgaver
⭐️ Hva er den overordnede arkitekturen til grafikkprosessorer (GPUer)?
Er akseleratorer som supplerer en CPU. Bruker maskinvare “multithreading” til å skjule latens fra minnet, har et minne som orienterer seg mot båndbredde, har mindre minne, kan akkommedere flere parallell prosessorer og flere tråder
⭐️ Beskriv programmeringsmodellen som benyttes når man bruker GPUer til generell beregning
- GPUer fokuserer på gjennomstrømning, ikke kjøretid
- Den fundamentale enheten er en tråd, en GPU-kjerne kalles en Streaming Multiprocessor
- Hver SM har tilgang til flere thread blocks, og dersom en stanser bytter SMen
Generell beregningsenhet
En relativt effektiv enhet for mange ulike applikasjoner, f.eks. CPUer
Spesialisert beregningsenhet
Spesielt effektiv for en eller flere klasser av applikasjoner, f.eks. GPUer eller DSEer
Å bruke rett enhet på rett applikasjon gir
betydelig effektivitetsforbedring
GPUer bruker parallellitet på programvarenivå til å skjule
latens
⭐️ GPU minnestruktur
Lokalt minne og GPU minne
⭐️ Lokalt minne til en GPU
Minne på chippen som er lokalt for hver multitråded SIMD prosessor
⭐️ GPU minnet
Off-chip DRAM minnet som blir delt av hele GPUen og alle thread blocks
⭐️ GPU mikroarkitektur
Har en warp er klar til utføring - Alle trådene i warpen utfører samme operasjon på ulike data
⭐️ Hva er likheter mellom GPUer og vektorprosessorer?
- SIMD-parallellitet
- Høy ytelse: De er designet for høyytelsesberegninger
⭐️ Hva er likheter mellom GPUer og SIMD-instruksjoner?
- Parallell behandling
- Ytelsesforbedring: De er designet for å forbedre ytelsen i oppgaver som krever høy beregningskraft
- Effektivitet: Begge teknologiene bidrar til å øke effektiviteten ved å redusere tiden det tar å utføre komplekse operasjoner
⭐️ Hva er likheter mellom vektorprosessorer og SIMD-instruksjoner?
- Parallell behandling: Begge utfører samme operasjon på flere dataelementer samtidig, noe som øker ytelsen
- Effektivitet: De er designet for å håndtere store mengder data raskt og effektivt