I am trying to profile a CUDA code that is embedded in a mex file, called from MATLAB. Running on a win7 x64 machine, MATLAB r2014b
The code is structured as follows:
MATLAB test.m
->contains some standard code generating variables (and calling 1 or 2 minor own MATLAB fucntions)
-> calls testcuda.mex
->contains small, standard, no library C++ code
-> calls either test1.cu or test2.cu
->.cu files end in cudaDeviceReset();
I did the following, as stated in several places on the internet:
- Compiled mex files. Test them. They work.
- Add
exit
in the end of test.m. - Launch the NVIDIA Visual Profiler. File -> New Session.
- add the full path of the Matlab executable file, for example
C:\Program Files\MATLAB\R2014b\bin\matlab.exe
- Working directory: add the full path of the Matlab .m file.
C:\CUDA_MATLABtests\MyToolbox
- Arguments:
-nojvm -nosplash -r test
However, when I run the profiler,I get
======== Warning: No CUDA application was profiled, exiting
And nothing more.
I am missing some instruction?
Is there any particular code structure that would make the profiler not to profile?
C:\Program Files\MATLAB\R2014b\bin\win64\matlab.exe
. Alternatively try to use the-wait
option. – Daniel