Performance Analysis

What does the STREAM benchmark mainly measure?

  1. AThe CPU's peak floating-point rate
  2. BThe memory bandwidth actually achieved when copying or adding large arrays
  3. CStorage capacity
Show answer and explanation

Answer: B. The memory bandwidth actually achieved when copying or adding large arrays

STREAM performs four simple operations, copy, scale, add and a combination, on large arrays that do not fit in cache and measures bytes read and written per second. With almost no computation, results are determined by memory bandwidth. It shows how much bandwidth is actually usable compared with the theoretical figure and supplies the slope of the slanted line in the Roofline model.

  • A. It does not measure arithmetic speed.
  • B. Correct. It indicates usable bandwidth.
  • C. It measures bandwidth, not capacity.
Practice this topic Back to topic

More Performance Analysis questions

  1. What is the most appropriate method for examining a parallel program's scalability?
  2. Running in parallel on 8 cores is 6× faster than on 1 core. What is the parallel efficiency?
  3. What is the phenomenon called in which adding a mechanism to measure performance changes the behavior of the program being measured?
  4. What is the most appropriate way to proceed when improving program performance?
  5. In a program processing large amounts of data, which improvement is most likely to give the largest speedup?