Update README with differentiation from STREAM
This commit is contained in:
parent
272c73a622
commit
d6520daf11
17
README.md
17
README.md
@ -21,6 +21,23 @@ Currently implemented are:
|
||||
|
||||
This code was previously called GPU-STREAM.
|
||||
|
||||
|
||||
How is this different to STREAM?
|
||||
--------------------------------
|
||||
|
||||
BabelStream implements the four main kernels of the STREAM benchmark (along with a dot product), but by utilising different programming models expands the platforms which the code can run beyond CPUs.
|
||||
|
||||
The key differences from STREAM are that:
|
||||
* the arrays are allocated on the heap
|
||||
* the problem size is unknown at compile time
|
||||
* wider platform and programming model support
|
||||
|
||||
With stack arrays of known size at compile time, the compiler is able to align data and issue optimal instructions (such as non-temporal stores, remove peel/remainder vectorisation loops, etc.).
|
||||
But this information is not typically available in real HPC codes today, where the problem size is read from the user at runtime.
|
||||
|
||||
BabelStream therefore provides a measure of what memory bandwidth performance can be attained (by a particular programming model) if you follow today's best parallel programming best practice.
|
||||
|
||||
|
||||
Website
|
||||
-------
|
||||
[uob-hpc.github.io/BabelStream/](https://uob-hpc.github.io/BabelStream/)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user