我对CUDA和GPU架构很陌生。我运行了这个代码。
结果中,我只得到了一个网格的维数。我知道每一个网格有3个维度,并且有同样数量的块。在每个块中,又有x*y*z
个线程。
我的问题是:一个GPU中有多少个网格(或者是否与GPU无关),如果是,我怎样才能找到它,以及如何处理需要大量线程的情况?
尽管最大块大小和可能的网格大小(虽然后者几乎不会成为问题)会影响您编写和运行CUDA内核的方式,但通常只有在使用动态并行性时才会关注最大网格数。如果您的内核没有完全占用GPU,则驱动程序可能也会重叠内核执行(如果可能),但您实际上无法明确控制。