STREAM Benchmarkをやってみた
STREAMというメモリ帯域を測定するベンチマークソフトがあるので試してみました。
上記ページにあるFTPサイトにはstream.exeがありますが
Windows32bit版で実行にはCygwin.dllが必要です。
私はWindows7 64bit版なのでソースコードからビルドしました。
ビルドは簡単でstream.cをダウンロードしてMinGWのgccでコンパイルするだけです。
(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 -------------------------------------------------------------