= John D. McCalpin
{c}
<John D. McCalpin> developed <STREAM>, a benchmark for sustained <memory bandwidth> using simple operations on large arrays. His reference documentation specifies both execution rules and how the benchmark counts transferred bytes and arithmetic work, making reported rates interpretable.<STREAM Benchmark Reference Information by John D. McCalpin>[What is STREAM?, Run Rules and byte/FLOP table]{ref}
For the triad operation $a_i=b_i+s c_i$ on eight-byte values, the conventional accounting counts two reads and one write: 24 bytes per element, with two floating-point arithmetic operations. A measured rate of $24\,\mathrm{GB\,s^{-1}}$ therefore corresponds to $10^9$ processed elements per second under that accounting. Actual memory-bus traffic can differ because of cache and write policies. The measurement targets data movement through a specified workload, rather than assuming that peak arithmetic throughput predicts application speed.
\Image[https://www.sc18.supercomp.hosting2.acm.org/app/linklings_snippets/presenter_pics/wp_presenter_img_048053.jpg]
{title=Portrait of <John D. McCalpin>}
{source=https://www.sc18.supercomp.hosting2.acm.org/presenter/index-uid=048053.html}
{width=240}
Back to article page