正統納豆天国ブログ

GPGPUメインのプログラミングエンジニアの備忘録

全体表示

[ リスト ]

倍精度有効時のGeForce GTX TITANは、Tesla K20シリーズと同じスループットで命令を実行する。そんなふうに考えていた時期が俺にもありました。

Compute Capability 3.xの命令スループット

GeForce GTX 680シリーズやTesla K10に代表される、GK104アーキテクチャのGPUは、Tesla K20のGK110アーキテクチャのGPUに比べて、倍精度命令のスループットが抑えられている、というのは有名な話。でも、スループットが抑えられているのは実は倍精度命令だけではない。

CUDA C Programming Guideにある命令のスループット一覧。Compute Capabilityの3.0と3.5の違いに注目して欲しい。倍精度命令のスループットが大きく落ちているのに紛れて、32-bit integer shift64から32に半減しているのが分かるだろう。倍精度計算を多用する科学技術計算だけでなく、ビット演算を多用する暗号計算についても、Teslaと下位製品とで分かりやすい性能差を付けているのだろう。

32ビット整数シフトのスループットを測る

測定用のプログラム。ひたすらshl.b32命令を繰り返すだけのプログラムである。

GeForce GTX 680

Clock: 1058500 KHz, # of MPs: 8
Elapsed Time: 4080.937988 milliseconds
# of Threads: 1024, # of SHLs : 1099511627776
Throughput: 31.816982
Compute Capability 3.0らしい、スループット32の結果が出ている。ここは予想通り。

GeForce GTX TITAN (LOW DP)

Clock: 875500 KHz, # of MPs: 14
Elapsed Time: 2476.519043 milliseconds
# of Threads: 1024, # of SHLs : 1099511627776
Throughput: 36.222129
36強という中途半端な数字が出ているが、おそらく本来はスループット32なのだが、倍精度無効時にCUDAのAPIで確認できない形での何らかの周波数上昇が起きて、結果CUDAのAPIでクエリできる値から計算したスループットが不自然に増えているのだろう。

GeForce GTX TITAN (HIGH DP)

Clock: 875500 KHz, # of MPs: 14
Elapsed Time: 2865.968750 milliseconds
# of Threads: 1024, # of SHLs : 1099511627776
Throughput: 31.299989
Compute Capability 3.0の下位製品と同等のスループット32。ちなみに、業務で触ったものであるので具体的な数字は出せないが、Tesla K20ではきちんとスループット64が出る。倍精度無効時と違って謎の性能向上も無く、比較して性能が落ちている点には注意が必要である。

結論

GeForce GTX TITANは、倍精度命令こそTesla K20シリーズと同等の性能であるが、それ以外の性能上の制限はそのまま引き摺っている。暗号計算などの整数シフト命令を多用する用途に使う場合はGTX TITANは向いているとは言えず、もう1ランク下位製品のGTX 690なり、もしくはいっそK20を用意するのが最善ではないだろうか。

閉じる コメント(2)

顔アイコン

プログラムしたことなかったんですが
なんとかシックハックして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

2014/2/26(水) 午後 1:23 [ isa**h43210 ] 返信する

顔アイコン

どうも、返信に気付かず返事が遅れて失礼しました。面白い情報をありがとうございます!

GPGPU に使わせるつもりが無いであろう下位製品ながら、なかなか大盤振る舞いな数字ですね!Kepler 世代の欠点とされる「CUDA Core の利用効率の悪さ」について、シフトを始めとする整数演算の遅さがメモリアクセスのアドレス計算などで足を引っ張っている点も在ると考えて…、などという感じなのかもしれません。

Bitcoin 等の仮想通貨の採掘コミュニティでは、整数が速い = 暗号計算に強い、ということで、Maxwell が割と重宝されているらしいとも聞きます、門外漢ながら。仮想通貨のトレンドを敏感に察した設計にした結果の可能性も否定できませんね、案外。

2014/3/7(金) 午後 8:17 [ nat**_he*ven ] 返信する

コメント投稿

顔アイコン

顔アイコン・表示画像の選択

名前パスワードブログ
絵文字
×
  • オリジナル
  • SoftBank1
  • SoftBank2
  • SoftBank3
  • SoftBank4
  • docomo1
  • docomo2
  • au1
  • au2
  • au3
  • au4
投稿

開く トラックバック(1)


.


プライバシー -  利用規約 -  メディアステートメント -  ガイドライン -  順守事項 -  ご意見・ご要望 -  ヘルプ・お問い合わせ

Copyright (C) 2019 Yahoo Japan Corporation. All Rights Reserved.

みんなの更新記事