同じCompute CapabilityでもTeslaとGeForceじゃ倍精度浮動小数点演算命令のスループットが全然違うって話はよく知られてると思うけど、以下のブログ記事にてそれ以外の命令でも違いがあるよと書いてあったのでGT 640(GK208)で確かめてみた。
GTX TITANの32ビット整数シフト – 正統納豆天国ブログ – Yahoo!ブログ
ソースは↑で公開されてたものを利用した。
ホストコードのコンパイルはWindows 7(64bit)上のclang++(LLVM3.2)で行った。
結果
Clock: 1045500 KHz, # of MPs: 2 Elapsed Time: 16515.529297 milliseconds # of Threads: 1024, # of SHLs : 1099511627776 Throughput: 31.838551
TITANのさらに半分だったら悲しいなぁとか、逆にTeslaと同じなら面白いなぁとか思ってたけど、普通にTeslaの半分、TITANと同じ32みたい。
プログラムしたことなかったんですが
なんとかシックハックして750Ti(1st gen maxwell)で試してみました
結果は以下のとおり68とか中途半端ですがkepler世代よりは改善してます
Clock: 1163000 KHz, # of MPs: 5
Elapsed Time: 2774.579102 milliseconds
# of Threads: 1024, # of SHLs : 1099511627776
Throughput: 68.147981
Maxwellいいですね。
クロックの数字が1163MHzということで、OCモデルのブーストクロックが検出されてるようです。
確かGPU Boostにおいてはブーストクロックは上限ではなく、それよりさらに多少クロックが上がったりするらしいので、その影響で68という中途半端な数字になってるのではないかと思います。
本来のスループットを64と仮定すると、実際は1238MHzまで上がってる計算になりますが、そこまでクロックが上がるという点でもMaxwellいいですね〜。