【GPGPU】NVIDIA CUDA質問スレッド
at TECH
[
2ch
|
▼Menu
]
■コピペモード
□
スレを通常表示
□
オプションモード
□このスレッドのURL
■項目テキスト
150:デフォルトの名無しさん 08/02/17 14:34:08 blockIdxとthreadIdxは0から始まるのですか? 151:デフォルトの名無しさん 08/02/17 14:48:10 はい。例えばfunc<<<m, n>>>()と呼び出した場合は、 それぞれ0からm-1, 0からn-1の値をとります。 二次元型、三次元型の場合も同様です。 152:142 08/02/17 15:08:14 ブロック数を1つから2つに増やして、スレッド数を100から50に減らして実行してみたのですが、 速くなるどころか逆に2倍くらい遅くなってしまいました。そういうもんなのでしょうか? dim3 grid( 1, 1, 1); dim3 threads(100, 1, 1); ↓ dim3 grid( 2, 1, 1); dim3 threads(50, 1, 1); 153:デフォルトの名無しさん 08/02/17 15:44:38 プログラムにもよると思うけどありえる話だろうね 154:デフォルトの名無しさん 08/02/17 15:53:10 何スレッドが同時に動くかはGPUによっても違うので一概には言えませんが、 少なくとも8の倍数にはなるのでスレッド数50や100は効率が落ちます。 例えばスレッド数を64にしても50のときと所要時間は変わらないかも知れません。 又、デバイス側の関数呼び出しは完了していても演算自体は終わっていないかも知れません。 cudaThreadSynchronize()してから時間を計った方がいいかも知れません。
次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
レスジャンプ
mixiチェック!
Twitterに投稿
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch
4325日前に更新/252 KB
担当:undef