Lección 30: El modelo roofline
En la lección anterior conocimos la intensidad aritmética (FLOPs/byte) y el ancho de banda (bytes/segundo), y distinguimos un kernel limitado por memoria de uno limitado por cómputo. El modelo roofline toma esos dos y los grafica en un solo gráfico que muestra, de un vistazo, el techo del rendimient
Imagina un gráfico con un techo: a la izquierda el techo sube en diagonal (te limita el ancho de banda), y a la derecha es plano (te limita la velocidad de cómputo). La esquina donde la diagonal se vuelve plana es el punto de cresta. Un kernel que cae a la izquierda de la esquina está atascado por la memoria; a la derecha — por el cómputo.
- modelo roofline
- Un gráfico de rendimiento contra intensidad aritmética, con un techo inclinado (ancho de banda) a la izquierda y un techo plano (FLOPs máximos) a la derecha, que muestra el techo del rendimiento.
- punto de cresta (ridge point)
- La intensidad donde el techo inclinado se encuentra con el techo plano: los FLOPs máximos entre el ancho de banda. A su izquierda está limitado por memoria, a su derecha limitado por cómputo.
- techo del ancho de banda
- La parte inclinada izquierda del roofline. Debajo de ella, el rendimiento = ancho de banda por intensidad, así que los kernels ahí están limitados por memoria.
- techo de cómputo
- La parte plana derecha del roofline, a la altura de los FLOPs máximos del hardware. Los kernels debajo de ella están limitados por cómputo y no pueden superar el techo.