Model roofline: obliczenia czy przepustowość pamięci

Roofline model and arithmetic intensity · id roofline · aliases: roofline, roofline model, arithmetic intensity, intensywność arytmetyczna, compute-bound vs memory-bound

Prosty model wydajności: osiągalna szybkość jest ograniczona przez minimum ze szczytowej mocy obliczeniowej i iloczynu przepustowości pamięci przez intensywność arytmetyczną (operacje na bajt). W zakresie założeń modelu pozwala ocenić, czy operacja jest ograniczona obliczeniami czy przepustowością pamięci.

A simple performance model: attainable throughput is bounded by the minimum of peak compute and memory bandwidth multiplied by arithmetic intensity (operations per byte). Within the model's assumptions, it helps determine whether an operation is compute-bound or memory-bandwidth-bound.

In one sentence

To sposób oszacowania, czy szybkość obliczenia ogranicza moc sprzętu, czy dostarczanie danych z pamięci.

This estimates whether hardware computing capacity or data delivery from memory limits an operation's speed.

Problem it solves

Nie wiesz, czy warto poprawiać obliczenia, czy zmniejszać ilość przesyłanych danych.

You do not know whether to improve computation or reduce transferred data.

What it does

Zestawia liczbę działań na porcję danych z przepustowością pamięci i mocą obliczeniową, wskazując przybliżony pułap wydajności.

It compares operations per amount of data with memory bandwidth and computing capacity to indicate an approximate performance ceiling.

Everyday example

Analizując mnożenie tabel liczb, sprawdzasz, czy program częściej czeka na pamięć, czy wykorzystuje wszystkie jednostki obliczeniowe.

When analysing array multiplication, you check whether the program mainly waits for memory or fully uses the computation units.

This concerns you if you…

Examples

Related topics

Sources