1
我是cuda编程的新手。我正在开发Kepler GPU,它有内核的最大线程数
3.2 compute_capability
1024 max_threads_per_block
1 Multiprocessor
2048 max._threads per_Multiprocessor
2147483647 grid size
这是否意味着我只能为内核分配2048?那么如何处理这个大网格?
我的应用程序包含了大量的矩阵计算。
谢谢
谢谢你的回答。我以为GPU只有一个SM,SM可以有最多2048个线程,最大内核线程将是2048 – user8462
即使GPU只有1个SM,你也可以启动一个内核包含许多块,并且这些块将在空间和资源允许的情况下循环通过该SM。 2048号码让你了解SM *在任何给定时刻*可以处理多少线程(最大值),即同时发生。但是当threadblocks完成他们的工作时,他们将“退出”SM并且新的线程块可以开始运行。 –
因此,当GPU在SIMT上工作时,并不意味着所有线程必须同时占用SM。再次感谢。 – user8462