0

我正在运行需要大约 16384 个线程的应用程序。但是经过实验,我观察到 CUDA 无法启动超过某个数量的线程。所以,特别是在我的应用程序中,每次启动 14337 个线程,但除此之外没有线程启动。

可能是什么原因?

系统:特斯拉 C2070 Linux 32bit

4

1 回答 1

1

Can you be a little bit more specific about how you launch your kernel? This is just a wild guess, but to me it sounds like your thread blocks are too large. As you might already know, you can't just start 16k threads in one thread block. Maybe this SO thread is helpful. The maximum number of threads per block for your GPU should be 1024, so you have to organize your threads in several thread blocks. It would also be interesting to see how you check that only 14k threads are launched (some source code would help).

于 2012-09-10T07:29:26.377 回答