Sandra 2012 SP5c Engineer Edition(グラフ1~12)

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

それではSandraから順に紹介してゆく。グラフ1がDhrystoneの結果である。SSE 4.2での結果は、FX-8350がCore i5-3570Kを上回る結果になっており、.NETではFX-8350が最速であるが、逆にJavaは一番遅かったりするあたりが、.NETやJavaの不安定な傾向を示している気がする。とはいえ、SSE 4.2の結果は確かにAMDの言うとおり、Core i5-3570Kに迫る数字を出しているのは事実だ。

グラフ2がWhetstoneの結果である。このVersionから、.NET/JavaについてはFloatとDouble、2種類のスコアが出る様になっている。ただSSE/AVXを使ってくれる訳ではないので、FloatならDoubleの倍のTroughputという訳ではなく、理論上はどちらも同じ処理性能になる筈で、実際にはDoubleの方がFloatより高速という訳の判らないスコアになっているが、これは.NETやJava向けのテストコードの問題な気がする。ただ全体として、

FX-8150 < Core i5-3570K < FX-8350 < Core i7-3770K

という傾向がほぼ明確であり、この数値だけ見れば確かにFX-8350がCore i5-3570Kを競合製品としてポジションさせるは理解できる。

ではMulti-Mediaはどうか? というとグラフ3の通り条件によって数字の出方がまちまちであるが、とりあえず最速はCore i7-3770Kであり、Core i5-3570KとFX-8350がこれに続く形。どちらが高速かは条件によって変化しており、概ね同等レベルと判断するのが一番無難な気がする。

もっともグラフ4のCryptographyの結果を見ると、AES256はCore i系が圧勝、逆にSHA256はFXシリーズが有利、というものもあったりするので、何がなんでも同等、という訳ではないこともわかる。

さて次はMulti-Core Efficiency(グラフ5、6)である。原理的にHyper-Threadingが有効だと異様にBandwidth(縦棒)が上がるテストなので、グラフ5でCore i7-3770Kのスコアが跳ね上がるのは当然として、ここでもCore i5-3570KとFX-8150の性能差はかなり拮抗している。もっともLatency(折れ線)はFX系とCore i系で明確に差があって、このあたりは両社のアーキテクチャの差であると考えても良い。

グラフ6がテストの詳細であるが、Core i7-3770Kを別に考えると、1MB(16×64K)あたりまでの数値はFX-8350が一番良い。4MB(1×4M)でCore i5-3570Kが急に性能が向上するのは、他の3つのCPUが8Thread、つまり4×4MBで合計16MBのデータのやり取りをする関係でキャッシュミスが発生するのに対し、Core i5-3570Kのみ4Threadで、2×4MBとなって8MB LLCに丁度収まるためにキャッシュミスが発生しにくい事が理由と思われる。ただLatencyはともかくThroughputだけを見る限り、FX系のFabricはCore i系のRing Busと同等以上の性能を出しているわけで、ここは評価してもよさそうに思える。

グラフ7~11はメモリアクセス関連である。まずグラフ7はStreamの結果と、グラフ8のテストにおける64MB/256MB/1GBのスコアの平均値をまとめたものである。やはり絶対的な数値としてFX系はややMemoryのThroughputが低めで、これはFX-8350でも改善されていない事はここから明確に判る。Memoryそのものは今回同じものを同じ設定で利用しているから、これはもうアーキテクチャの差と言ってよい。

グラフ8が2KB~1GBにおけるRead AccessのBandwidthである。FX-8350は動作周波数の違いもあって、L3 Hitとなる8MBあたりまでは明確にFX-8150より高速であり、特に2MB~4MBにおける数値はCore i系を上回るものになっている。

もう少し細かく言うと、FX-8150とFX-8350の動作周波数の差は、Turbo有効時で最大4.4GHz vs 4GHzで10%アップ、定格だと4GHz vs 3.6GHzで11.1%のアップである。一方スコアを見ると2KB~32KBあたりまでのFX-8350の数字は、FX-8150に対して13~19%のアップとなっており、恐らくL1 D-Cacheへのアクセスにも改善があり、これが大きな差となっていると思われる。また256K~4MBあたりまでの差も15%程度あり、L3に関しても若干の改善がありそうだ。ただL2に関してはほぼ10%程度の差でここは同等、一方Memoryはほぼ数字が変わらず(1%程度)、Memory Controllerには大きく手が入ってはいなそうだ、ということが読める。

次はLatencyである。Core i5-3570Kの結果はCore i7-3770Kとほぼ重なってしまっており、まるで3つのテストにしか見えないのはご容赦を。グラフ9がSequential、グラフ10がIn-Page Random、グラフ11がFull Randomである。ここで見て判るのは、

・FX-8350ではL2のLatencyがFX-8150から2~3cycle増えている。
・2MB以降、つまりL3~MemoryのアクセスはLatencyがほぼ同等。

ということだ。このテスト結果ではLatencyをcycle数で示しているので、絶対的な時間としてのLatencyそのものが一定でも動作周波数が増えるとその分Latencyのcycle数が増えることになるためで、L3以降はこれが忠実に反映される形になっている。問題はL2がやや遅くなっていることで、L1の高速化(?)の代償として何かしらの変更があったのではないか、と思われる。まぁこのあたりの詳細は、後編でRMMAを使いながらもう少し細かくみてみたい。

最後にVideo Memory Bandwidthの結果をグラフ12に示す。ここではPCIe経由でのVideo Memory Accessの際のBandwidthで、なのでDirectXを利用してのSystem to Device(CPU→GPU)とDevice to System(GPU→CPU)の転送性能のみを示した。まぁ予想通りというか、FX系はPCIe Gen2どまりということもあって帯域は5GB/secそこそこ、対してCore i系はPCIe Gen3をサポートしているためにもう少し上まで引っ張れる。もっとも、どちらのプラットフォームも、理論帯域(PCIe Gen2で8GB/sec、Gen3で16GB/sec)に比べるとまだだいぶ低めであるが、これはバスとかプラットフォームそのものというよりもGPU(RADEON HD 7990)に起因するものかもしれない。とりあえずこの面に関して、FX-8350では何も改善がない事は確認できた(というかプラットフォームが同じなので、変わったらそのほうがおかしいといえばおかしいのだが、そうした不可解な事はない事が確認できたというべきか)。

次ページRightMark Multi-Thread Memory Test 1.1