STREAM is a benchmark for sustained memory bandwidth using simple operations on large arrays. Its Copy, Scale, Add and Triad kernels exercise different combinations of reads, writes and arithmetic. Working sets must exceed the available memory cache sufficiently to characterize transfers beyond it, rather than merely repeated access to cached values.[ref]
For eight-byte elements, Triad computes a[i]=b[i]+s*c[i]: two loads and one store give 24 requested bytes and two floating-point operations per element. Ten million elements therefore account for 240 million requested bytes. An elapsed time of 0.01 seconds would give bytes per second under that counting convention. This is a stipulated calculation, not a measured machine result. Physical bus traffic can differ because of cache behavior, so a bandwidth report must state its convention and test configuration.

Articles by others on the same topic (0)

There are currently no matching articles.