ABSTRACT

The Roofline model is a visually intuitive performance model constructed using bound and bottleneck analysis [362, 367, 368]. It is designed to drive programmers towards an intuitive understanding of performance on modern computer architectures. As such, it not only provides programmers with realistic performance expectations, but also enumerates the potential impediments to performance. Knowledge of these bottlenecks drives programmers to implement particular classes of optimizations. This chapter will focus on architecture-oriented roofline models as opposed to using performance counters to generate a roofline model.