Skip to content

A benchmark to evaluate the effect of caches on the effective bandwidth.

Notifications You must be signed in to change notification settings

MartinKarp/cache-STREAM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 

Repository files navigation

cache-STREAM

A benchmark to evaluate the effect of caches on the effective bandwidth. Inspired by the STREAM benchmark by John D. McCalpin we make some small changes to the original STREAM mpi benchmark to evaluate the effective bandwidth for vector operations when the problem size is small. This is in contrast from the original STREAM benchmark which explicitly discourages small arraysizes.

In particular, rather than having an array V of size >> the cache size we investigate the effect of performing the same amount of work, but decreasing the array size, but perform the operation several times. We investigate arrays of size b^k,b^(k-1),...,b^1,b^0 (standard is b=3 and k=14) running each ADD, SCALE, TRIAD kernel b^0,b^1,..,b^k times. In other words we keep the number of ops constant around O(b^k).

This prompts us to make certain changes to the original benchmark in order to disallow the compiler from removing our outer loop, in partiuclar we make redundant updates of a, b, c making it so that we technically perform some subtractions as well, which is different from the orignal benchmark.

If you find this useful, or have improvements, please let me know.

Best, Martin Karp

About

A benchmark to evaluate the effect of caches on the effective bandwidth.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published