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%以上の性能改善となる。面白い話だが、古い命令セットを使うほど、より性能改善が見られるというちょっとまれな例となった。