When I compile a cuda program, I just make my own makefile with simplest arguments for example:
nvcc -o example -keep example.cu -lcudart -lcuda -lcufft -lGL …
But this configuration uses the definition of CUDA_SAFE_CALL or CU_SAFE_CALL
#define CUDA_SAFE_CALL (call) call
#define CU_SAFE_CALL (call) call.
The header file says is definition is useful for performance. But I need good debugging now.
I also found there’s another deinition of CU*_SAFE_CALL which contains cudaThreadSynchronize() or cuCtxSynchronize() and
handling the return to see if it is not CUDA_SUCCESS.
How can I used the second kind of CU*_SAFE_CALL? Is there any compile argument in /NVIDIA_CUDA_SDK/common/common.mk?
Then I can improve my make file with the option parameters.