next up previous
Next: Philosophy and Justification Up: Sustainable Memory Bandwidth in Previous: Introduction

The STREAM Benchmark

The STREAM benchmark a synthetic benchmark program, written in standard Fortran 77 (with a corresponding version in C). It measures the the performance of four long vector operations. These operations are:

                              per iteration:
  name    kernel               bytes  FLOPS
  COPY:   a(i) = b(i)            16     0
  SCALE:  a(i) = q*b(i)          16     1
  SUM:    a(i) = b(i) + c(i)     24     1
  TRIAD:  a(i) = b(i) + q*c(i)   24     2

These operations are representative of the ``building blocks'' of long vector operations. The array sizes are defined so that each array is larger than the cache of the machine to be tested, and the code is structured so that data re-use is not possible.

John McCalpin
Tue Aug 20 20:43:16 PDT 1996