ViennaCL 1.7.1(グラフ97~100)

Institute for Microelectronics and Institute for ASC, TU Wien
http://viennacl.sourceforge.net/

こちらもCrossFireのサポートが無いので、RX 480 CLとRX 480の数値は同じ(というか、オーバーヘッドがある分RX 480 CLの数値がやや低い)である。

まずはBlas3(グラフ97)。単精度だとPascalの性能は圧倒的で、GTX 1080は3.4TFlopsの結果を叩き出している。GTX 1080の理論性能は公称8.8TFlopsだから、効率は40%ほど。対するAMD系だが、RX 480は公称5TFlopsで結果が1.3TFlopsということで効率は26%とやや低めである。ただこれが倍精度になるとひっくり返る訳で、やはり256bitバスのRX 480はやや分が悪いとは言え、それでも300GFlopsを超えているのは立派である。

次がStreamベースのコピーだが、ここでもRX 480系は苦しい。メモリ帯域圧縮は効果的な技法ではあるが、常に利くとは限らないわけで、先のBlas3もそうだが、うまく利かないとやはり性能へのインパクトはそれなりにあるということだろう。

Spare(グラフ99)は、空の要素が多いから圧縮が利きやすいのだろうか? R9 390/390Xと比べてもそう悪くないスコアで、GTX 1080をも上回っているが、空の要素が少ないVector(グラフ100)だとやはり性能が落ち気味、というあたりはやはりメモリ圧縮機構の問題に見える。GPUとして使うには効果的かもしれない圧縮も、GPGPU的な使い方ではあまり有効ではない、という傾向がここからも見えたと思う。