Sandra 2014(グラフ74~92)

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

ここからGPGPUの性能比較を簡単に。ということでおなじみSandraである。

まずグラフ74とグラフ75はGPGPUを使ってのマンデルブロ図形描画で、74がFloat、75がDoubleでの結果である。まぁこうした用途だとGeForce系列には不利なのは承知の話で、実際FloatではR9 295Xが圧倒的な性能を示している。

面白いのはCompute Shaderでのケースで、どうもDual GPUはきちんとCompute Shaderでは扱えない(か、プログラムがDual Graphicsに対応していない)模様だ。これは特にFloatの結果で顕著である。

次にCryptgraphy関係を。AES128-ECB(グラフ76)とAES256-ECBの(グラフ77)Encryptionと、同じくAES128-ECB(グラフ78)とAES256-ECB(グラフ79)のDecryption、それにSHA1(グラフ80)とSHA2-256(グラフ81)のHasingの結果はおおむね同じで、なぜか最高速はHD 7990である。

スペックで考える限りどうも腑に落ちないのだが、結果は結果として受け止める必要があるだろう。それはともかくとして、R9 295X2の性能は、OpenCLを使う限りR9 290Xの10~20%増しといったところで、ComputeShaderでは同等だった。

最後がSHA2-512 Hasing(グラフ82)であるが、これに関してはComputeShaderおよびCUDAでは実行不能だったので、OpenCLのみでの結果である。このテストに関しては、512bit長のデータを扱うのはGCNでは苦手な様で、GeForce系列が高いスコアをだしているのが分かる。R9 295X2は? というと、R9 290Xよりは高い性能ではあるが、HD 7990には及ばないという、相変わらず不思議な結果に終わった。

グラフ83~88はFinancialということで、Black-Scholes/Binominal/Monte Carloの各アルゴリズムを利用しての価格計算をFloat/Doubleで行った結果である。結果はアルゴリズムによってバラつきが大きい(特にHD 7990とR9 290X/R9 295X2との関係が結構違う)が、ここではR9 295X2がかなり高い性能を発揮するケースが多く見られる。

もっともあくまでもこれはOpenCLの場合のみで、ComputeShaderでは相変わらずR9 290Xと同等のスコアであるが。GeForce系列との比較でも、Floatはともかくとして(Doubleのハードウェア演算器が殺されている)GeForce系列とRadeonでは比較にならないのは当然というべきか。そうした事を勘案すると、ほぼリーズナブルな結果として良いと思う。

グラフ89とグラフ90はDirectXを使ってのマンデンブロ図形描画で、ある意味GPGPUではなくGPU的な使い方であるが、ことFloat(グラフ88)に関してはR9 295X2が最高速として良いと思う。ただし、なぜかHD 7990も結構高い性能を出しており、特にDirectX 9.3では最高速というのは結構謎である。

Double(グラフ89)ではさらに混乱していて、DrirectX 10以上ではHD 7990が最高速、DirectX 9.3はGTX780Tiが最高速、という不思議な結果が出ている。実のところDirectXでDouble型を使う(もちろん標準ではサポートされていないので、これはDoubleのEmulation動作である)ケースはほとんどど無いから、事実上影響はないとは思うが、そのあたりがドライバの特性にも反映されているのかもしれない。

最後にMemory Bandwidthの結果を。グラフ91がInternal Memory Bandwidthであるが、DirectX 11とそれ以前では特にDual GPUにおけるメモリの扱い方が違うのか、DirectX 11ではきっちり半減する結果になっている。察するにDirectXでは2つのGPU間での転送が発生しているおり、これが全体のスループットを下げているのではないかという気がする。それを別にすると、後はおおむねカタログスペックに比例した結果である。

またPCIe経由でのSystem to Device(グラフ92)とDevice to System(グラフ93)でも、やはりDual GPUの2枚はきっちり半分といったスコアになっているが、これはPCIe Switchを介する関係で帯域の割り当てが半分に制限されているためではないかと思われる。