我正在尝试对嵌入在mex文件中、从MATLAB调用的CUDA代码进行性能分析。在运行于win7 x64机器上,MATLAB r2014b版本。
该代码的结构如下:
我按照互联网上多个地方的说法进行了以下操作:
该代码的结构如下:
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();
我按照互联网上多个地方的说法进行了以下操作:
- 编译mex文件。测试它们。它们能工作。
- 在test.m的结尾添加
exit
。 - 启动NVIDIA Visual Profiler。文件->新建会话。
- 添加Matlab可执行文件的完整路径,例如
C:\Program Files\MATLAB\R2014b\bin\matlab.exe
- 工作目录: 添加Matlab .m文件的完整路径。
C:\CUDA_MATLABtests\MyToolbox
- 参数:
-nojvm -nosplash -r test
然而,当我运行分析器时,出现了以下错误:
======== Warning: No CUDA application was profiled, exiting
仅此而已。
我错过了一些指示吗?
是否有任何特定的代码结构会使分析器无法分析?
C:\ Program Files \ MATLAB \ R2014b \ bin \ win64 \ matlab.exe
。或者尝试使用-wait
选项。 - Daniel