我总共启动了 256 个线程。当我通过启动一个块来做到这一点时,一切正常。但是,当我以 2x2 块(每个块(8x8 线程))启动线程时,内核会无限循环。好吧,真正的问题是我的内核代码等待来自其他块的部分结果,并且在运行了几次测试之后,我观察到这些块是以随机顺序启动的,它们似乎是按顺序执行的。
如果 CUDA 块是从同一个内核启动的,它们会并行运行吗?我使用的 GPU 不是限制,因为我只启动了 256 个线程,而 GTX 580 可以处理它们。(在 16x16 线程的单个块启动中一切正常)有没有办法可以知道执行顺序或指定它?