Cuda 最大并发内核数&;虚拟代码体系结构

Cuda 最大并发内核数&;虚拟代码体系结构,cuda,compute-capability,Cuda,Compute Capability,所以我找到了这个 每个设备的最大驻留网格数 (并发内核执行) 对于每种计算能力,它都表示并发内核的数量,我假设这是并发内核的最大数量 现在,我得到了一个GTX1060交付,根据有一个计算能力为6.1。根据我对CUDA的了解,到目前为止,您可以在NVCC中指定代码在编译时的虚拟计算能力,尽管标记为-arch=compute\u XX 因此,我的GPU是否将硬件限制为32个并发内核,或者它是否能够使用-arch=compute\u 60标志实现128个并发内核?根据compute capabilit

所以我找到了这个

每个设备的最大驻留网格数 (并发内核执行)

对于每种计算能力,它都表示并发内核的数量,我假设这是并发内核的最大数量

现在,我得到了一个GTX1060交付,根据有一个计算能力为6.1。根据我对CUDA的了解,到目前为止,您可以在NVCC中指定代码在编译时的虚拟计算能力,尽管标记为
-arch=compute\u XX


因此,我的GPU是否将硬件限制为32个并发内核,或者它是否能够使用
-arch=compute\u 60
标志实现128个并发内核?

根据compute capability 6.1中的表13,设备最多有32个驻留网格=32个并发内核


即使您使用
-arch=compute_60
标志,您也将被限制为32个并发内核的硬件限制。选择要编译的特定体系结构不允许您超过机器的硬件限制。

根据compute capability 6.1中的表13,设备最多有32个驻留网格=32个并发内核


即使您使用
-arch=compute_60
标志,您也将被限制为32个并发内核的硬件限制。选择要编译的特定体系结构不允许您超过机器的硬件限制。

另一方面,32个并发内核已经足够了,根本不可能达到这个限制。由于GTX 1060有9个或10个SMs,即使在极端情况下,您启动一个长系列的单块内核,其中3个适合一个SM,您仍然只能达到30个并发内核。@tera,在使用动态并行和嵌套内核时,最大并发内核限制是否适用相同的限制?@tera我想知道为什么只有3个内核可以适合1个SM。是否有相关文件?每个SM 3个块不是硬限制,而是一个典型值。使用或找出一个给定内核中有多少块可以同时放在一个SM上。另一方面,32个并发内核就足够了,根本不可能达到这个极限。由于GTX 1060有9个或10个SMs,即使在极端情况下,您启动一个长系列的单块内核,其中3个适合一个SM,您仍然只能达到30个并发内核。@tera,在使用动态并行和嵌套内核时,最大并发内核限制是否适用相同的限制?@tera我想知道为什么只有3个内核可以适合1个SM。是否有相关文件?每个SM 3个块不是硬限制,而是一个典型值。使用或找出给定内核中有多少块可以同时装入一个SM。