1
我已经通过CUDA编程指南过去了,我无法理解的线程分配方法如下所示:CUDA线程分配
dim3 dimGrid(2, 2, 1);
dim3 dimBlock(4, 2, 2);
KernelFunction<<< dimGrid, dimBlock >>>(. . .);
一些能解释一下线程分配给上述条件?
我已经通过CUDA编程指南过去了,我无法理解的线程分配方法如下所示:CUDA线程分配
dim3 dimGrid(2, 2, 1);
dim3 dimBlock(4, 2, 2);
KernelFunction<<< dimGrid, dimBlock >>>(. . .);
一些能解释一下线程分配给上述条件?
一种直观的方式来考虑网格和块是它们可视化:
您的dimBlock(4, 2, 2)
意味着每个块都有4 x 2 x 2 = 16
个线程。 您的dimGrid(2, 2, 1)
表示网格有2 x 2 x 1 = 4
块。 因此,您的内核在4个块的网格上启动,其中每个块都有16个线程。总之,您的内核将以16 x 4 = 64
线程启动。
哇..这是一个伟大的思考方式。感谢分享。 – Lostsoul 2012-05-19 22:17:38
阅读编程指南。再次。 – fabrizioM 2010-10-15 16:08:04