Урок 30: Модель Roofline
На предыдущем уроке мы познакомились с арифметической интенсивностью (FLOP/байт) и пропускной способностью (байты/секунда) и отличили ядро, ограниченное памятью, от ограниченного вычислениями. Модель Roofline берёт эти две величины и наносит их на один график, который с первого взгляда показывает по
Представьте график с крышей: слева крыша поднимается по диагонали (вас ограничивает пропускная способность), а справа она плоская (вас ограничивает скорость вычислений). Угол, где диагональ переходит в плоскую часть, — это точка перегиба. Ядро, попадающее левее угла, застряло из-за памяти; правее него — из-за вычислений.
- модель Roofline
- График производительности в зависимости от арифметической интенсивности, с наклонной крышей (пропускная способность) слева и плоской крышей (пиковые FLOP) справа, показывающий потолок производительности.
- точка перегиба (ridge point)
- Интенсивность, при которой наклонная крыша встречается с плоской: пиковые FLOP, делённые на пропускную способность. Левее неё — ограничено памятью, правее — ограничено вычислениями.
- крыша пропускной способности
- Наклонная левая часть roofline. Под ней производительность = пропускная способность, умноженная на интенсивность, поэтому ядра там ограничены памятью.
- крыша вычислений
- Плоская правая часть roofline, на уровне пиковых FLOP оборудования. Ядра под ней ограничены вычислениями и не могут превысить потолок.