profiler和Nsight分析问题

我的整个应用程序已经写好了,程序相对笔记大,其中有很多kernel,请问一下profiler和Nsight能否对感兴趣的一些kernel进行分析,屏蔽其他一些kernel?

LZ您好:

在runtime API下,您可以使用cudaProfilerStart()和cudaProfilerStop()来划分出您需要profile的部分,并#include cuda_profiler_api.h 。
在dariver API下则为,cuProfilerStart()和cuProfilerStop()以及#include cudaProfiler.h 。

您可以参考CUDA Profiler User Guide中的Focused Profiling章节。

祝您好运~

以及补充一下,这个方法是visual profiler适用的,nsight的profiler功能可能不适用。

一般我们对于一个巨大的东西,想要逐步分析,需要使用“分而治之”的办法。

您一个“相比巨大”的应用程序,里面有上千个kernel, 不妨将需要分析的具体一个或者几个kernel提取出来,
建立个小测试项目,进行分析。

这样可以有效的避免干扰,同时可以有效的降低一次分析时间。

您意下如何?

恩 我可以试试哈,谢谢哈!