Nvidia Nsight 2.2 MSVC ++ 2010性能分析 - 在时间轴中查看用户定义的主机功能名称

时间:2012-07-24 20:27:23

标签: cuda profiling nvidia nsight

请参阅下面的Nvidia Nsight 2.2分析会话图(Win7,MSVC ++ 10 Pro,CUDA 4.2,GTX 670)。

Nsight timeline

在第一个主机线程(26.8%)上,我从CUDA API获取函数调用名称。是否可以从主机进程中的第二个线程(13.6%)执行用户定义函数中的函数调用名称?如果是这样,怎么样?

2 个答案:

答案 0 :(得分:1)

Paul,默认情况下不支持此功能。

使用NVIDIA工具扩展(NVTX)库,您可以手动检测代码。该库安装在目录C:\ Program Files \ NVIDIA GPU Computing Toolkit \ nvToolsExt中,带有Nsight Visual Studio Edition(所有版本)或CUDA Toolkit 5.0 RC。 Visual Profiler在5.0 RC中支持NVTX。

该库附带两个示例,向您展示如何使用该库。 NvtxMultithread.cpp示例提供了一个帮助程序库。感兴趣的功能是

nvtxRangePushA
nvtxRangePop

或者如果您使用的是C ++,则帮助程序库具有可用作

的作用域帮助程序
nvtx::ScopedRange range(__FUNCTION__)

位于每个功能的顶部。

可以使用cl.exe选项/ Gh和/ GH自动执行此操作,但这需要编写程序集。

答案 1 :(得分:0)