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.
|
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
|
Website
|
||||||
-------
|
-------
|
||||||
[uob-hpc.github.io/BabelStream/](https://uob-hpc.github.io/BabelStream/)
|
[uob-hpc.github.io/BabelStream/](https://uob-hpc.github.io/BabelStream/)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user