As a part of my code , I am trying to use 2D matrices in CUDA , but it always give me segmentation fault.
double** d_matrix;
cudaMalloc((void**)&d_matrix, m * sizeof(double*));
for (int i = 0; i < m; i++)
{
cudaMalloc((void**)&d_matrix[i], n * sizeof(double));
}
when I run this using gdb i get
Thread 1 "qr" received signal SIGSEGV, Segmentation fault.
0x00007ffff5be2ba0 in ?? () from
/usr/lib/wsl/drivers/nvdmi.inf_amd64_706343011d139b51/libcuda.so.1.1
(gdb) backtrace
#0 0x00007ffff5be2ba0 in ?? () from
/usr/lib/wsl/drivers/nvdmi.inf_amd64_706343011d139b51/libcuda.so.1.1
#1 0x0000555555585f73 in cudart::driverHelper::mallocPtr(unsigned long, void**) ()
#2 0x000055555556154b in cudart::cudaApiMalloc(void**, unsigned long) ()
#3 0x0000555555596aec in cudaMalloc ()
#4 0x000055555555bd04 in main () at qr.cu:58
what is the error?