【发布时间】:2016-06-22 18:41:45
【问题描述】:
我正在尝试分析嵌入在从 MATLAB 调用的 mex 文件中的 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();
如网上several places 所述,我做了以下操作:
- 已编译的 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
仅此而已。
我缺少一些说明?
是否有任何特定的代码结构会使分析器无法分析?
【问题讨论】:
-
我认为在第 4 步中你必须使用
C:\Program Files\MATLAB\R2014b\bin\win64\matlab.exe。或者尝试使用-wait选项。 -
@Daniel 确实.... win64 文件夹,真是个愚蠢的错误。作为 MATLAB 已经在 Program Files 而不是 Program Files x86 我认为它已经是 64 位版本。考虑回答这个问题。