内核中声明的数组的内存空间是多少?例如,在下面的代码中,我声明了 array a
。该阵列将位于何处?我对本地内存和寄存器感到困惑?如果它在寄存器中,那么它们究竟是如何映射的?
__device__ int ptr=0;
__global__ void a()
{
int b[9][9];
atomicAdd(&ptr,1);
b[0][0]=ptr;
for(int i=1;i<9;i++)
{
for(int j=1;j<9;j++)
{
b[i][j]=b[i-1][j-1]+1;
}
}
ptr=b[7][7]+1;
}
int main()
{
a<<<1,1>>>();
return 0;
}
一般来说,有没有办法通过.ptx
文件查看每个变量的内存空间?我用--ptxas-options=-v
但没有有用的信息编译了这个。我查看.o
了文件,但它不包含我想要的内容。我想要的只是内核中使用的变量的位置。