カーネルで宣言された配列のメモリスペースとは何ですか?たとえば、次のコードでは、配列を宣言し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
たが、必要なものが含まれていません。私が欲しいのは、カーネルで使用される変数の場所です。