BabelStream GPU Memory Bandwidth - AMD ROCm

From Define Wiki
Jump to navigation Jump to search
# rocm 6.0.2 on ubuntu 22.04
apt install build-essential cmake libstdc++-12-dev
git clone https://github.com/UoB-HPC/BabelStream.git
cd BabelStream

cmake -Bbuild -H. -DMODEL=hip -DCXX_EXTRA_LINK_FLAGS=-L/opt/rocm/lib -DCXX_EXTRA_FLAGS=-I/opt/rocm/include -DCMAKE_CXX_COMPILER=hipcc
cmake --build build

cd build
./hip-stream
./hip-stream -s 230686720

Outputs

david@amin-dev-mi210:~/benchmarks/BabelStream/build$ ./hip-stream --list

Devices:
0: AMD Instinct MI210
1: AMD Instinct MI210

david@amin-dev-mi210:~/benchmarks/BabelStream/build$ ./hip-stream
BabelStream
Version: 5.0
Implementation: HIP
Running kernels 100 times
Precision: double
Array size: 268.4 MB (=0.3 GB)
Total size: 805.3 MB (=0.8 GB)
Using HIP device AMD Instinct MI210
Driver: 60032831
Memory: DEFAULT
Init: 0.046493 s (=17320.886139 MBytes/sec)
Read: 0.377429 s (=2133.661470 MBytes/sec)
Function    MBytes/sec  Min (sec)   Max         Average
Copy        1358180.036 0.00040     0.00040     0.00040
Mul         1365746.653 0.00039     0.00040     0.00040
Add         1251966.811 0.00064     0.00066     0.00065
Triad       1244289.060 0.00065     0.00066     0.00065
Dot         1304772.708 0.00041     0.00042     0.00042

david@amin-dev-mi210:~/benchmarks/BabelStream/build$ ./hip-stream -s 230686720
BabelStream
Version: 5.0
Implementation: HIP
Running kernels 100 times
Precision: double
Array size: 1845.5 MB (=1.8 GB)
Total size: 5536.5 MB (=5.5 GB)
Using HIP device AMD Instinct MI210
Driver: 60032831
Memory: DEFAULT
Init: 0.290075 s (=19086.372046 MBytes/sec)
Read: 0.196201 s (=28218.397362 MBytes/sec)
Function    MBytes/sec  Min (sec)   Max         Average
Copy        1379955.442 0.00267     0.00271     0.00269
Mul         1376605.431 0.00268     0.00273     0.00270
Add         1252163.000 0.00442     0.00446     0.00445
Triad       1250551.141 0.00443     0.00446     0.00444
Dot         1388724.811 0.00266     0.00277     0.00272


# mi210 is 64G so this pushes most of the memory
david@amin-dev-mi210:~/benchmarks/BabelStream/build$ ./hip-stream -s 2048000000
BabelStream
Version: 5.0
Implementation: HIP
Running kernels 100 times
Precision: double
Array size: 16384.0 MB (=16.4 GB)
Total size: 49152.0 MB (=49.2 GB)
Using HIP device AMD Instinct MI210
Driver: 60032831
Memory: DEFAULT
Init: 2.242437 s (=21919.012877 MBytes/sec)
Read: 0.223717 s (=219706.480510 MBytes/sec)
Function    MBytes/sec  Min (sec)   Max         Average
Copy        1433866.475 0.02285     0.02304     0.02294
Mul         1362728.875 0.02405     0.02419     0.02412
Add         1319654.483 0.03725     0.03822     0.03785
Triad       1264044.532 0.03888     0.03899     0.03894
Dot         1462316.412 0.02241     0.02326     0.02289