Sandra 2011 SP5a Engineer Edition(グラフ1~11)

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

おなじみのSandraだが、2011 SP1のまま実行すると3960Xでブルースクリーンが発生する。幸い対応したSP5aが既にリリースされていたので、こちらでテストを行った。

さてまずグラフ1・2がDhrystone/Whetstoneだが、これはまぁ妥当な成績か。990Xとの比較では、コア数は同じだが動作周波数は990Xの方がやや高速である。Sandraの場合は負荷が高いし全コアが同時に動くから、それほどTDPに余力があるとは思えないので、実際の動作周波数は3960Xの方がやや低めと想像される。それでもこの成績なのだから優秀と考えてよいだろう。

この傾向はMulti-Media Benchmark(グラフ3)でも同じである。Javaあるいは.NETでは、動作周波数の高い990Xが微妙に有利な場合があるが、逆にAVX命令をフルに使えるFloat/Doubleでは、AVXに未対応の990Xの性能の落ち方が著しい。

Cryptgraphyの結果(グラフ4)で、特に3960XのAESの性能が突出しているのは、CPUコア側というよりもメモリ帯域の問題という気がする。これは2600Kと990Xのスコアに大差が無いことからも推察できる。

ちょっと面白い傾向を見せているのがMulti-Core Efficiency。グラフ5がOverallで、縦棒がBandwidth、折れ線がLatencyであるが、帯域は理解できるとしてLatencyが一緒にふえているのが非常に興味深い。グラフ6がDetailであるが、64KB(16×4K)あたりまでのスコアはむしろ990Xに劣っているのは、単に動作周波数の差だけではないようだ。

ではそのメモリ帯域は? ということで、まずグラフ7がStreamのInt/Floatの値、それとグラフ8に出てくる結果の64MB~256MBの平均である。テスト方法によって若干のばらつきはあるものの、倍とはいわないまでも70~80%増しの帯域を確保しているあたり、4chのメモリの威力は間違いなくあると言える。グラフ8がDetailであるが、帯域の絶対値としては3960Xが一番高いことが判る。ではなぜグラフ6ではあまり性能が出ないのか? というと、グラフ9・10で判るようにLatencyが全体的に大きめだからだ。なんでこんなに大きいのか? の正確なところは不明だが、Linearでこれだけ明確にでていることをみると、個人的にはRing Bus構造で2コア抜いたあたりに要因があるのではないかと思う。Ring Busの場合、複数コア間でのCache Coherencyには結構時間が掛かる。一応双方向Ringではあるが、原則として1 cycle/Hopだから、物理的には8コア構成となる3960Xの場合最大で4Cycle近いLatencyが掛かる計算になる。この時間が大きいほど、CacheのLatencyに与える影響が大きくなる。勿論これは頻度がどの程度かに関わってくるが、例えばグラフ9の1KB~16KBで2600Kや990Kが3.7~3.8cycleなのは、キャッシュ自身のLatencyがそういう微妙な数字なのではなく、Snoopによって余分なLatencyがかかる場合があり、それを均すと3.7~3.8cycleになると考えるべきで、3960Xでそれが4cycleになるのは、更にSnoopによるLatencyの増加が大きいからと判断すべきだと思う。これはグラフ10にも言えることで、結果としてメモリ帯域は増えたものの、Latencyも全体的に大きめになった、というのが3960Xの特徴としてよいと思う。

最後にVideo Memory Benchmark(グラフ11)。これはPCIeのベンチマークとして行っているので、結果はDirectX 10/10.1/11の結果の平均を取っている。結果で言うとご覧の通り、2600K+Z68が優秀(をぃ)という結果になった。まぁそれでも、990X+X58に比べればi3960+X79はかなり改善したというべきであろう。