Hello Michael, I have recently started learning CUDA programming and I am interested in using it within the .NET framework. I know that NVIDIA NSight provides tools for debugging and profiling the GPU code.
Do you have suggestions on how to do that with managedCUDA?
Thanks for your help!
There's in principle no difference between debugging and profiling CUDA applications written for/with managedCuda and a straight forward native application. But a few things should be considered:
You need to call CudaContext.ProfilerStop() before ending your application or destroying your context in order to flush the collected data to host.
For debugging you need of course to compile the kernels with debug info (-G flag for NVCC). Set a breakpoint in your cu-file and Cuda debugger will stop there just as any other debugger would do.
Hello Michael, I have recently started learning CUDA programming and I am interested in using it within the .NET framework. I know that NVIDIA NSight provides tools for debugging and profiling the GPU code. Do you have suggestions on how to do that with managedCUDA? Thanks for your help!