0

CUDA C プログラミング ガイドから:

スレッド ブロックのスレッドは 1 つのマルチプロセッサで同時に実行され、複数のスレッド ブロックは 1 つのマルチプロセッサで同時に実行できます。スレッド ブロックが終了すると、空のマルチプロセッサで新しいブロックが起動されます。

ここで、それぞれ少数のスレッド (たとえば 4) のブロックが多数 (たとえば 1000) あり、各スレッドは少数のレジスタを使用するため、複数のスレッドを一緒に実行できるとします。

たとえば 32 スレッドのワープが与えられた場合、ワープを埋めるために 8 つのブロックが実際に一緒に実行されるかどうか、またはこれが起こらないかどうかを理解したいと思います。

上記の引用を読んだ後、スレッドが存在するブロックに関係なく、ワープ内のすべてのスレッドで実行される命令が同じである場合にこれが発生する可能性があると思います (この場合、たまたま 8 ブロックから 32スレッド)同じプログラムカウンターを持っています)。

しかし、多分私は完全に間違っています。ブロックサイズがワープサイズよりも小さい場合に何が起こるかをよりよく理解したいと思います。

4

2 に答える 2