Sandra 2016(グラフ101~125)

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

次にこちらも。ちなみに前回では省いたが、いくつかのテストではOpenGLでの動作結果もあるので、これも含めた。ただOpenGLはCrossFireのサポートが無いので、結果は単なるSIngle動作ということで、RX 480 CLの結果は省いてある。

まずはGP Processing(グラフ101~104)。ComputeShaderはどうも内部の処理がボトルネックらしいので、主にCUDAとOpenCLでの結果比較ということになるが、やはりCrossFireは強烈で4倍精度(Quad)と倍精度(Double)はRX 480 CFが最高速となっている。

ただ単精度(Single)になるとNVIDIA系の巻き返しがすごく、また半精度(Half)では16bit演算を倍速でサポートするPascal系のGTX 1070/1080が他を圧倒する結果実現している(ただしCUDAのみで)というのは以前と同じである。何と言うか、「単精度以下ならNVIDIA、倍精度以上ならAMDを使うと幸せになれる」という感じだ。

ではもう少しApplication Specificなところで、グラフ105~111がGP Cyrptographyの結果だが、ここでもRX 480 CFは他を圧倒する結果になっている。やはりCU数が倍(72CU:4608 Shader相当)になるというのはGPGPUを使うアプリケーションにはそれだけでメリットになるということだろうか。

GTX 1080もかなり健闘しているが、それでもAES Encryption/DecryptionではR9 390相当程度。Hasingではかなり性能が改善するが(これは以前も出ていた結果だ)、それでもRX 480 CFには及ばない程度だ。

グラフ112~117がGP Scientificである。まずGEMM(グラフ112と113)では、何故かNVIDIA系はCUDAよりもOpenCLの方が性能が出ているが、それはさておき、単精度のSGEMMではNVIDIA系が健闘しているが、倍制度のDGEMMになるとAMD系の圧勝という先のグラフ97の再現である。ちなみにRX 480単体はあまりかんばしくない(特にDGEMMではR9 390/390Xとの差が著しい)が、RX 480 CFは見事に倍の性能を叩き出している。

グラフ114と115がFFTであるが、ここでもAMD系の優位性は明白である。ただ意外にもRX 480 CFはRX 480単体と比較して5割増し程度のスコアでしかなく、倍にならない理由がちょっと不明である。

FFTの場合、演算性能よりもデータの転置作業のオーバーヘッドの方が大きくなりがちであり、それもあってか単精度と倍精度でそれほどスコアが変わらないのだが、ここでRX 480 CFの性能がR9 390にも劣る結果になっているのは、ひょっとすると転置の際に2枚のRX 480カードを跨いでデータ交換を行うような作業が入ってしまっているためなのかもしれない。

最後がN-Body(グラフ116と117)で、ここではまた再びRX 480 CFの圧勝である。RX 480単体と比較してダブルスコアになっているあたり、きっちり2枚のカードがフルに仕事をしているようだ。

次はGP Image Processing(グラフ118~122)である。こちらはおおむね前回の結果の延長にあって理解しやすいのだが、ちょっと誤解を招きそうなのがBlur Convolution 3×3(グラフ118)の結果である。

RX 480 CFのスコアがRX 480単体の倍、というのはどういう理由かというと、RX 480 CF以外のケースではRendering Image Sizeが15360×8640pixelなのに対し、RX 480 CFのみRendering Image Sizeが30720x17280pixelに自動拡張されていた。これはメモリ量とかキャッシュ容量とかを見ながらサイズが自動的に決まるのでこちらであれこれ指示できないのだが、RX 480 CFではメモリやキャッシュ容量が見かけ上2倍になるということで、レンダリングイメージを4倍サイズに展開したものと思われる。

この手のテストでは対象となるイメージが大きいほど性能があげやすく、このあたりが結果に反映されている。そのほかのテストでは、RX 480 CFの結果はおおむねRX 480単体の2倍に落ち着いており、またテストによって差はあるがGTX 1080もRX 480よりもちょっと良い程度のスコアでしかないから、結果としてRX 480 CFの独走という結果になった形だ。

最後がGP Bandwidth(グラフ123~125)である。Internal Memory(グラフ123)は見かけ上バス幅が512bit相当となるRX 480 CFが高速なのは当然として、さすがに10GbpsのGDDR5Xを搭載したGTX 1080もそれなりの性能を出している。

一方PCIeバスの速度(グラフ124と125)は? というと、PCIe x16レーンを2本出せるX99チップセットを使った甲斐があり(?)、RX 480 CFはきっちりRX 480単体の倍である15GB/sec強を出しているが、そもそも単体で8GB/sec弱でしかないRX 480が問題という気はする。このあたりはほぼ前回のテスト結果の延長といったところだ。

ということで、きっちり2枚のGPUカードをちゃんと使えるようにプログラミングすれば、RX 480 CFは非常に高い性能を出せることはSandraで実証できたと思う。問題はこうしたアプリケーションが少ないという点に尽きるだろう。