Sandra 2015 SP2b Engineer Edition(グラフ15~32)

SiSoftware
http://www.sisoftware.co.uk/

CPU系アプリケーションテストはこのあたりにして、最後にSandraの結果を。といってもSandraは非常にテスト項目数が多いので、MemoryとかGPUなどに関しては別の機会にして、今回はCPU性能そのものの比較テストのみをご紹介したい。

ちなみにこのSandra 2015 SP2bから、結果はMT(Multi-Thread:全スレッドをフルに使う):MC(Multi-Core:1コア1Threadに限った、要するにHyperThreadingを事実上無効にした使い方):1C(1Core:1コア/1Thread動作)の3種類の結果が出てくる様になったが、グラフは従来と同じMTのものだけを示している。

まずDhrystone(グラフ15)だが、ここでの性能はまぁ動作周波数にほぼ比例した感じでそれほど不思議ではない。Whetstone Single(グラフ16)も同じだが、Whetstone Double(グラフ17)では扱うデータ量が倍になる関係か、L4を持っているBroadwellが相対的に有利な様で、やや性能差が詰まっているのが面白い。

こうした傾向はMulti-Mediaの結果(グラフ18~23)も同じである。このバージョンからLong-Int(64bit)とかQuad-Int(128bit)、Quad-Float(128bit)などが追加サポートされているが、いずれもソフトウェアで実装したもののようで、性能がガクンと落ちている。その結果として、HaswellとBroadwellはほぼ動作周波数の差に等しい性能差になっており、これは妥当なところ。

面白いのはここからで、まずCryptography(グラフ24~26)において、Encryption(グラフ24)やDecryption(グラフ25)で、HaswellとBroadwellがほぼ同じスコアというのは、BroadwellにL4がある分こうした暗号化処理が高速に行え、動作周波数の差を埋めたと考えられる。

この世代では全てAES-NIという拡張命令を使っているから、基本的には演算性能は動作周波数の差に等しいのだが、AESの処理はかなり大量のメモリアクセスを併用するので、L4の存在によってBroadwellはこの部分で性能の上乗せがあったとして良さそうだ。その証拠というのもなんだが、Hasing(グラフ26)では専用命令の効果が無いので、再び動作周波数の差そのままの結果になっている。

Financial(グラフ27~29)も面白い。Black-Scholes(グラフ27)ではHaswellとBroadwellの差があまり無いし、Binominal(グラフ28)のFloatにいたってはGodavariとBroadwellが僅差という信じられない結果に。

というか、Haswell/Broadwellの場合、FloatよりDoubleの方が高速というのは正直良く分からない。Monte-Carlo(グラフ29)では再びHaswellとBroadwellが僅差になっており、Doubleでは一部逆転現象が見られるあたりは、アプリケーションによってL4が効果的だったり、効果がなかったりが明確ということだ。

これはScientific(グラフ30~32)でもいえる。GEMM(グラフ30)ではHaswellとBroadwellがかなり接近しており、やはり行列の様にデータ量が多くなる場合にはL4がかなり効果的であることが分かる。

これが一番極端なのはFFT(グラフ31)である。FFTの場合、まず行方向のアクセス、続いて列方向のアクセスという形になるので、列方向のアクセスが極端に遅い通常のメモリでは、どうしても性能は落ちる。そのため、性能を落とさないようにいろいろと技法を凝らす訳だ。しかし、BroadwellがHaswell比で2倍の性能を実現しているところから考えると、実態はDRAMとは言え、アクセス速度が高速な128MBものL4が非常に効果的ということが分かる。

同様にN-Body(グラフ32)も、L3程度の容量だと簡単にあふれてしまうが、L4だとかなりカバーできるようで、結果BroadwellがHaswellを上回る結果になっている。あくまでアプリケーションによるが、L4の存在がかなり性能改善に効く場合がある、という好例となった。