关于cudaError_enum 的问题

向各位大虾请教一个问题 我在网上一直没有找到答案
我写了一个 大尺度卷积的程序 卷积核 大小为 212121 对图像进行卷积 图像的大小为 256256n (n的范围在500以内)
而且是对图像进行连续求 6次卷积
卷积函数如下
for(k=0;k<Filter_Size;k++)
{
layer_pos=blockIdx.y+k-Filter_Center;
for(i=0;i<Filter_Size;i++)
{
row_pos=blockIdx.x+i-Filter_Center;
for(j=0;j<Filter_Size;j++)
{
colunm_pos=threadIdx.x+j-Filter_Center;

H[0][0]+=tex3D(Image_tex,colunm_pos,row_pos,layer_pos)*tex3D(Dxx_tex,j,i,k);
}
}
}
一共计算六次 我写完函数后 得到 cubin文件中的参数如下
code {
name = _Z13Convn3DKernelPfS_S_iiii
lmem = 0
smem = 44
reg = 26
bar = 0
const {
segname = const
segnum = 1
offset = 0
bytes = 4
mem {
0x000003ff
}
}

线程使用 设置为

Blockx=256;
m_Blocky=1;
m_Blockxy=256;

m_Gridx=256;
m_Gridy=n;
m_GridxBlockxy=65536;

然后 我 把 图像n 设置为 50发现程序总是会奔溃 提示为
cudaError_enum at memory location 0x0012ee88
而我把核函数中的卷积次数从6次变为2次的时候 就可以运行
请问这是为什么 因为如果单看寄存器 和 共享内存的话,程序是没问题的 而且又没涉及到出界的问题 6个卷积中的任意2个卷积都可以运行 但是2个以上程序都
会提示错误!