フェルミGPUで起動できるスレッドの最大数について混乱します。1つのCUDAカーネルで開始できるスレッドの最大数
私のGTX 570デバイスのクエリでは次のことが言います。
Maximum number of threads per block: 1024
Maximum sizes of each dimension of a block: 1024 x 1024 x 64
Maximum sizes of each dimension of a grid: 65535 x 65535 x 65535
私の理解から、私は上記のステートメントを理解する:私たちはほとんどの65536個のブロックで起動することができCUDAカーネルの
。起動された各ブロックには、1024スレッドの までを含めることができます。したがって、原則として、最大65536 * 1024(= 67108864)のスレッドを起動できます。
これは間違いありませんか?私のスレッドがたくさんのレジスタを使用するとどうなりますか?スレッド数のこの理論上の最大値にはまだ到達できますか?
CUDAカーネルを作成して起動した後、私が起動したスレッドとブロックの数がであり、確かにがインスタンス化されていることがわかります。私はGPUがいくつかのジャンクを計算するのをやめようとしたり、奇妙なことに、その特定のカーネルよりも多くのスレッドをインスタンシエートしてしまえば、奇妙な動作をしたくないという意味です。
これはあなたを助けるかもしれません:http://stackoverflow.com/questions/2392250/understanding-cuda-grid-dimensions-block-dimensions-and-threads-organization-s – user1154664