Hello,
I have a problem with CUDA in ‘real’ mode. My test.cu compile and run well in emulation mode but the kernel is not launched in ‘normal’ mode. I don’t understand and there is no error reported by the following code. I also checked cudaMemcpy and cudaMalloc for a,b,c,d and e variables, but there is no errors. There is also no errors at compilation time (both emulation and normal mode)
process <<< dimGrid, dimBlock >>> (a, b, c, d, e);
printf("ERR: %s \n", cudaGetErrorString( cudaGetLastError() ));
cudaThreadSynchronize();
printf("ERR: %s \n", cudaGetErrorString( cudaGetLastError() ));
cudaMemcpy(x, d, len, cudaMemcpyDeviceToHost);
printf("ERR: %s \n", cudaGetErrorString( cudaGetLastError() ));
I’m compiling the code with the following command line (I’m under Linux =))
// emu
nvcc -o test -L /opt/cuda/lib/ -lcuda -lcudart -O3 -I /opt/cuda/include --device-emulation test.cu
or
// normal
nvcc -o test -L /opt/cuda/lib/ -lcuda -lcudart -O3 -I /opt/cuda/include test.cu
What kind of tools/functions/variables/debugger(/anything!) can I use to troubleshoot my app ?
Do you also know what kind of errors can make a kenel do not launch ?
I don’t know if this is useful but my card is a GTX260.
Thanks