2016-10-18 3 views
-1

ワープ中のスレッド数が32以上になることがあります。何故ですか?スレッド数が32スレッド未満の場合、リソースが十分に活用されない、またはメモリのレイテンシを許容できないことを意味しますか?ワープ内のスレッド数が32未満の場合はどうなりますか?

+1

私はあなたの質問を理解していません。ワープあたりのスレッド数は、過去と現在のすべてのサポートされているCUDAハードウェア上で正確に32です。 – talonmies

答えて

1

あなたの質問には明確化が必要です。おそらくCUDAの「ワープ」と「ブロック」の概念を混同しているのでしょうか?

ワープに関しては、ワープとそのサイズがハードウェアのプロパティであることを覚えておくことが重要です。ワープは、毎回同じ命令(これらの日)を実行するハードウェアスレッドのグループです。言い換えれば、サイズ幅はSIMDスタイルの実行幅を示します。これはプログラマが変更できないものです。 CUDAでは、ハードウェアにマッピングされるとワープサイズの束で実行されるスレッドのブロックを起動します。ワープ・サイズで割り切れないスレッド・カウントのブロックを開始すると、ハードウェアは単に「マスクされた」スレッドのいくつかを使用して最後のワープを実行します(実行する必要がありますが、 GPU /メモリ)。

詳細については、hardware and execution-related sections of the CUDA programming guideをよく読んでください。

関連する問題