cuda kernel 调用时gridSize 和 blockSize设置问题

哪位朋友帮我看看这个问题:

fftH = fftW = 16348;
dataH = 11142,dataW = 10747;
d_Dst 和 d_Src 是float*类型的数据指针。
dim3 threads(32, 32);
grid(512, 512);
使用显卡是很次的GEFORCE 610M。
kernel<<<grid, threads>>>(d_Dst, d_Src, fftH, fftW, dataH, dataW );

为什么调用kernel函数报错? 怎么解决?

楼主你:
1不提供错误信息,
2不提供kernel的代码,
3不提供你的使用的缓冲区的分配过程

光一个kernel<<<grid,threads>>>(参数们)就让人回答,
您觉得我们都是超能力者,未卜先知么?

你的问题可能是每块中线程数量超过了512

您好:

LZ的GPU应该至少是fermi核心的,根据programming guide的说明,此时一个block最大可以有1024个线程。(1.x是每block最多512线程,2.0~3.5是每block最多1024线程,因此如果LZ配置得当的话,32*32的block 形状并不会影响其运行。)

鉴于LZ没有提供更多的信息,暂无法确定其确切问题。