I have problem with using double pointer and code written in following way
int **a;
int **d_a;
int i,j;
a=(int **)malloc(sizeof(int)*3);
for(i=0;i<3;i++)
{
a[i]=(int *)malloc(sizeof(int)*3);
}
/* After value initialization to a */
cudaMalloc((void**)&d_a,sizeof(int)3);
for(i=0;i<3;i++)
{
cudaMalloc((void*)&d_a[i],sizeof(int)*3);
}
cudaMemcpy(d_a,a,3*sizeof(int)*3,cudaMemcpyHostToDevice);
matrix<<<1,1>>>(d_a);
cudaMemcpy(c,d_c,sizeof(int)*n,cudaMemcpyDeviceToHost);
But such memory allocation and copying it to device is not working.It gives segmentation fault error,please help me about how to use double pointers in cuda.