RightMark Memory Analyzer 3.8 - Stream(グラフ108~115)

最後に、RMMAにおけるStreamの結果も示しておく。グラフ108~111は結果をBytes/cycleで示したものであるが、これで見るとSkylakeの結果はほぼBroadwellに等しく、Haswellに比べるとだいぶ性能改善がなされている。

アーキテクチャ的にはもう少し差が出てもいいのだが、差が明確になるほどの性能を出すためには最低限AVX命令を使わないと難しい。RMMAは何分古いSSE2ベースだから、Broadwell/Skylakeの間に差が無くても不思議ではない。それでもHaswellと比較するとずいぶん性能が上がっているのが分かる。

ただ、Haswell/SkylakeとBroadwellでは定格での動作周波数が違うわけで、そこで絶対的な性能という意味で示したのがグラフ112~115となる。

これをSandraの所で示したStream Integerの結果と比較したい。グラフ4では4種類におよぶStreamテストの平均値のみ示しているが、詳細値(いずれもGB/sec)を示すと

Haswell Broadwell Skylake
Assignment 24.00 24.07 26.45
Scaling 24.00 24.08 26.42
Addition 24.07 23.93 26.45
Triad 24.22 24.00 26.52

という結果を得ている。Haswellを1とした比で示すと

Haswell Broadwell Skylake
Assignment 1 1 1.10
Scaling 1 1 1.10
Addition 1 0.99 1.10
Triad 1 0.99 1.09

というあたりで、Skylakeは10%ほど高速という結果になっている。一方グラフ112~115で、12MB~20MBの間の平均値を取ると

Haswell Broadwell Skylake
Assignment 15.46 18.95 23.01
Scaling 15.47 18.95 22.93
Addition 16.84 20.05 24.00
Triad 16.89 20.09 23.90

というあたりで、絶対値が異なるのは利用している命令が異なる(SandraはAVX命令、RMMAはSSE2を利用している)ためだが、同じくHaswellを1とした比で示すと

Haswell Broadwell Skylake
Assignment 1 1.23 1.49
Scaling 1 1.22 1.48
Addition 1.19 0.99 1.43
Triad 1 1.19 1.42

という具合にBroadwellで20%ほど、Skylakeでは40%以上の性能改善となる。面白い話だが、古い命令セットを使うほど、より性能改善が見られるというちょっとまれな例となった。