Home

rekenintensiteit

Rekenintensiteit, ook wel arithmetische intensiteit genoemd, is een maatstaf uit de computerarchitectuur en high-performance computing die aangeeft hoeveel berekeningen (float-operaties) worden uitgevoerd per hoeveelheid data die uit het geheugen wordt gehaald of weggeschreven. In de meeste definities is dit de verhouding FLOPs per byte.

De gebruikelijke formule is rekenintensiteit = aantal floating-point operaties / aantal verwerkte bytes (uit hoofdgeheugen en/of cache). De

Toepassing: rekenintensiteit wordt gebruikt om workloads te karakteriseren als geheugenbound of compute-bound. In combinatie met het

Metingen en optimalisatie: rekenintensiteit kan worden berekend door telling van FLOPs en het meten van verplaatste

Voorbeeld: een kernel die 1000 FLOPs uitvoert en 200 bytes verplaatst, heeft een rekenintensiteit van 5 FLOPs

exacte
invoer
van
“verwerkt”
data
kan
per
context
verschillen,
maar
in
alle
gevallen
gaat
het
om
data
traffic
ten
opzichte
van
rekencapaciteit.
Hoge
rekenintensiteit
wijst
op
veel
rekenefficiëntie
per
geheugenbeweging,
lage
op
relatief
veel
geheugenverkeer.
maximale
geheugenbandbreedte
en
het
piekvermogen
aan
berekeningen
levert
het
het
Roofline-model
op,
waarmee
men
het
prestatieniveau
van
een
kernel
kan
inschatten
en
optimaliseren.
Doel
is
vaak
de
data-localiteit
en
hergebruik
te
vergroten,
bijvoorbeeld
door
tiling,
betere
data-layout,
caching
en
minder
geheugenwrites.
bytes
tijdens
een
kernel.
Profileringstools
kunnen
dit
automatiseren.
Op
basis
van
AI
kunnen
ontwikkelaars
beslissen
welke
optimalisaties
het
effectiefst
zijn
om
geheugenbandbreedte
beter
te
benutten
of
juist
meer
computationele
arbeid
per
data
te
leveren.
per
byte.
Een
lage
waarde
duidt
doorgaans
op
geheugenbinding;
een
hoge
waarde
op
rekengebonden
verwerking.