我需要从 Matlab 分析我的 CUDA 代码。我已经将一些 matlab 代码转换为 CUDA 以提高性能。我通过调用调用 CUDA 的 mexFunction 来完成此操作。 matlab feval 函数没有提供足够的控制。我可以通过 VS 运行 mexFunction 来调试它,但我还需要调试内核,因为我相信这就是问题所在。
所以,我的问题是,在执行调用它的 matlab 函数时,如何通过探查器运行 CUDA 代码?
将所有输入的值硬编码到 CUDA 函数中是不切实际的。
我正在 Windows 7 64 位上使用 Tesla C2050 GPU 卡运行 Matlab 2012a 64 位
如果您需要的是分析性能而不是 nSight 还提供的调试功能,您可以使用我使用的以下技巧在可视化分析器上运行 matlab 程序,而无需创建带有测试 main 函数的 exe:
创建一个批处理文件
matlab -nojvm -nodesktop -wait -sd "yourBaseFolder" -r "theMFunctionYouWantToRun;exit;"
然后在 nVidia Visual Profiler 上运行该脚本。
我正在使用 feval CUDA API,因此这还有一个额外的优点,那就是向您展示 Matlab 实际上在做什么。我想它在使用 MEX 时也应该有效,但从未尝试过。让我知道它是否也适用于 MEX 文件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)