Performance Analysis

When the Roofline model shows a workload in the memory-bandwidth-limited region, which direction improves performance?

  1. AConsider only adding more arithmetic units
  2. BIt will naturally speed up over time without changes
  3. CRaise arithmetic intensity, for example by increasing data reuse, or reduce memory traffic
Show answer and explanation

Answer: C. Raise arithmetic intensity, for example by increasing data reuse, or reduce memory traffic

In the Roofline chart, workloads under the slanted line are capped by memory bandwidth, and adding arithmetic units does not raise that cap. Reusing data through blocking or operator fusion increases operations per byte (arithmetic intensity), moving the workload rightward and raising its ceiling. Using lower-precision data to cut memory traffic has a similar effect.

  • A. When memory-bound, more arithmetic units do not help.
  • B. Without changes, it will not get faster.
  • C. Correct. Move rightward toward the flat part of the roof.
Practice this topic Back to topic

More Performance Analysis questions

  1. What does the STREAM benchmark mainly measure?
  2. What is the most appropriate method for examining a parallel program's scalability?
  3. Running in parallel on 8 cores is 6× faster than on 1 core. What is the parallel efficiency?
  4. What is the phenomenon called in which adding a mechanism to measure performance changes the behavior of the program being measured?
  5. What is the most appropriate way to proceed when improving program performance?