Tools/likwid/example_marker_api_stream

Example: likwid Marker API in stream

GNU Compiler

Memory read data volume Memory write data volume Factor # Load Ops. # Store Ops. Factor
copy 94.1 90.1 1.04 1 1 1
scale 90.2 87.5 1.03 1 1 1
add 177.3 88.1 2.01 2 1 2
triad 177.1 87.9 2.01 2 1 2

-> GCC does not use non-temperal stores -> Cache line read for ownership (RFO) needed

Intel Compiler

Memory read data volume Memory write data volume Factor # Load Ops. # Store Ops. Factor
copy 88.6 87.6 1.01 1 1 1
scale 89.1 87.8 1.01 1 1 1
add 176.2 88.1 2.00 2 1 2
triad 176.3 88.0 2.00 2 1 2

-> Non-temporal stores / streaming stores