我写了一个CUDA应用程序。我的应用程序调用内核大约40次。在对其进行分析之后,在每个内核完成它的执行之后,有一个cudaMemset()
。而这些cudaMemsets耗费了大量时间。但是,我的cudaMemset
文件中没有.cu
。 CUDA API内部是否调用cudaMemset
?还有什么方法可以知道CUDA分析器中的行号吗?
答案 0 :(得分:1)
Nsight Visual Studio Edition Trace Activity支持在所有CUDA Runtime和CUDA Driver API调用上捕获调用堆栈。
为CUDA运行时API调用启用Callstack跟踪
查看CUDA Runtime API调用的Callstack跟踪
上述过程可以针对其他API域进行。关联窗格还可用于确定生成内核启动或内存副本的API调用和调用堆栈。