Intensità aritmetica
- Il roofline model è un grafico che lega le performance di calcolo Floating Point di un sistema con l'intensita aritmetica e le performance di memoria (velocita di transferimento della memoria) in un grafico 2D.
- Questo modello è utile per capire, in relazione ad un determinato programma, se le prestazioni sono limitate dalla velocità di calcolo FP o dalla velocità del sistema di memoria, quali ottimizzazioni possono essere fate ed in che ordine

- Per programmi con bassa intensità aritmetica, il limite è offerto dal sistema di memoria (perchè si effetuano più accessi alla memoria che operazioni sui dati gia caricati)
- Per programmi ad alta intensità, il limite è dato dalla capacità di elaborazione della CPU
- Se non ci fossero problemi con la memoria le prestazioni sarebbero una linea orizzontale pari alla massima capacità di calcolo
- All'aumentare della velocità del sistema di memoria, la retta relativa a peak memory trasla verso sinistra, quindi si arriva piu velocemente alla velocita di picco al crescere dell'intensità aritmetica (la memoria limita di meno).
$$
Massima\ velocità\ di\ calcolo\ ottenibile = min(V_{mem}\times IA, V_{calc})
$$
- La velocita massima di calcolo è quindi il valore minimo tra la performance della memoria, moltiplicata per l'Intensità aritmentica, e la performance massima di calcolo della CPU. Infatti, dipende dall'intensità aritmentica se la velocità di calcolo è limitata dalla memoria o dal limite fisico della CPU.
Ottimizzazioni