日曜技術者のメモ

趣味でやった事のメモ書きです。

STREAM Benchmarkをやってみた

STREAMというメモリ帯域を測定するベンチマークソフトがあるので試してみました。

http://www.streambench.org/

上記ページにあるFTPサイトにはstream.exeがありますが
Windows32bit版で実行にはCygwin.dllが必要です。

私はWindows7 64bit版なのでソースコードからビルドしました。

ビルドは簡単でstream.cをダウンロードしてMinGWgccでコンパイルするだけです。
(POSIX準拠になっているのでVisualStudioだと存在しないヘッダーがあります。)

以下が実行結果

-------------------------------------------------------------
STREAM version $Revision: 5.10 $
-------------------------------------------------------------
This system uses 8 bytes per array element.
-------------------------------------------------------------
Array size = 10000000 (elements), Offset = 0 (elements)
Memory per array = 76.3 MiB (= 0.1 GiB).
Total memory required = 228.9 MiB (= 0.2 GiB).
Each kernel will be executed 10 times.
 The *best* time for each kernel (excluding the first iteration)
 will be used to compute the reported bandwidth.
-------------------------------------------------------------
Your clock granularity/precision appears to be 999 microseconds.
Each test below will take on the order of 24001 microseconds.
   (= 24 clock ticks)
Increase the size of the arrays if this shows that
you are not getting at least 20 clock ticks per test.
-------------------------------------------------------------
WARNING -- The above is only a rough guideline.
For best results, please be sure you know the
precision of your system timer.
-------------------------------------------------------------
Function    Best Rate MB/s  Avg time     Min time     Max time
Copy:            8420.6     0.020112     0.019001     0.021001
Scale:           7999.6     0.020446     0.020001     0.021002
Add:            11428.0     0.021668     0.021001     0.026001
Triad:          10434.4     0.023557     0.023001     0.024002
-------------------------------------------------------------
Solution Validates: avg error less than 1.000000e-013 on all three arrays
-------------------------------------------------------------