如何在Matlab环境下使用Nvidia可视轮廓对CUDA进行轮廓
我需要从Matlab中分析我的CUDA代码。为了提高性能,我一直在将一些matlab代码转换为CUDA。我通过调用调用CUDA的mexFunction来实现这一点。matlab feval函数没有提供足够的控制。我可以通过VS运行mexFunction来调试它,但我也需要调试内核,因为我相信这就是问题所在 所以,我的问题是,在执行调用CUDA的matlab函数时,如何通过分析器运行CUDA代码 将所有输入的值硬编码到CUDA函数中是不实际的如何在Matlab环境下使用Nvidia可视轮廓对CUDA进行轮廓,matlab,cuda,profiler,Matlab,Cuda,Profiler,我需要从Matlab中分析我的CUDA代码。为了提高性能,我一直在将一些matlab代码转换为CUDA。我通过调用调用CUDA的mexFunction来实现这一点。matlab feval函数没有提供足够的控制。我可以通过VS运行mexFunction来调试它,但我也需要调试内核,因为我相信这就是问题所在 所以,我的问题是,在执行调用CUDA的matlab函数时,如何通过分析器运行CUDA代码 将所有输入的值硬编码到CUDA函数中是不实际的 我在windows 7 64位上运行Matlab 20
我在windows 7 64位上运行Matlab 2012a 64位,带有特斯拉C2050 GPU卡NVIDIA Nsight Visual Studio Edition 2.2应该能够评测您的内核
NVIDIA Visual Profiler通过多次运行应用程序来收集结果。它不支持启动器应用程序。这可以通过直接启动正确版本的Matlab.exe来克服。由于应用程序重播机制,如果可以自动运行mexFunction,则可以使用Visual Profiler评测。我没有尝试过用VisualProfiler评测Matlab,但我知道Nsight团队在过去对此进行过测试。如果您需要评测性能,而不是Nsight也提供的调试功能,您可以使用以下技巧在VisualProfiler上运行matlab程序,而无需使用test main函数生成exe: 使用创建批处理文件
matlab -nojvm -nodesktop -wait -sd "yourBaseFolder" -r "theMFunctionYouWantToRun;exit;"
然后运行英伟达可视化剖析器上的脚本。< /P>
我使用的是feval CUDA API,因此它还有一个额外的优点,就是向您展示了Matlab实际上在做什么。我想在使用MEX的时候也应该可以,但是从来没有试过。让我知道它是否对MEX文件也有作用。< P>你可以使用下面的过程使用英伟达可视化剖析器来配置Matlab MexFixes,包括CUDA代码。
cudaDeviceSet()
exit
VS2010 lite没有可用的Nsight,我还没有找到一个有信誉的网站下载它。您知道我可以从哪里下载它吗?另外,我是否正确地假设可以将它与VS2010 lite一起使用。我也有完整的VS2005专业版,如果这有什么不同的话。Nsight Visual Studio Edition(以前是并行Nsight)需要Visual Studio版本来支持插件。Microsoft在Visual Studio Expression版本上禁用插件包。Nsight支持Visual Studio 2008 SP1和2010 SP1专业版及更高版本。您可以从developer.nvidia.com下载Nsight。您可以在CUDA 5.0 RC中使用nvprof命令行探查器进行评测。nvprof的输出可以加载到Visual Profiler中。