Visual c++ CUDA:Nsight VS2010配置文件_设备_功能

Visual c++ CUDA:Nsight VS2010配置文件_设备_功能,visual-c++,cuda,profiling,nsight,Visual C++,Cuda,Profiling,Nsight,我想知道如何在VisualStudio2010上使用Nsight 2.2评测一个_设备_函数,该函数位于一个_全局_函数中。我需要知道哪个函数消耗了大量的资源和时间。我在CC 2.0上安装了CUDA 5.0。Nsight Visual Studio Edition 3.0 CUDA Profiler介绍了源代码相关实验。Profile CUDA活动支持以下源代码级实验: 指令计数-收集内核中每个用户指令的已执行指令、已执行线程指令、活动线程直方图、谓词线程直方图。未收集有关syscalls pr

我想知道如何在VisualStudio2010上使用Nsight 2.2评测一个_设备_函数,该函数位于一个_全局_函数中。我需要知道哪个函数消耗了大量的资源和时间。我在CC 2.0上安装了CUDA 5.0。

Nsight Visual Studio Edition 3.0 CUDA Profiler介绍了源代码相关实验。Profile CUDA活动支持以下源代码级实验:

指令计数-收集内核中每个用户指令的已执行指令、已执行线程指令、活动线程直方图、谓词线程直方图。未收集有关syscalls printf的信息

发散分支-收集流控制指令的已执行分支、未执行分支和发散计数

内存事务-收集全局、本地和共享内存指令的事务计数、理想事务计数器和请求字节

该信息根据SASS指令收集。如果内核是使用-lineinfo-generatelineinfo编译的,那么可以将信息汇总到PTX和高级源代码中。由于这些数据是从SASS汇总而来的,因此一些统计数据对于高级数据源来说可能并不直观。例如,分支统计数据可能显示100%未执行,而您预期的执行率为100%。如果查看SASS代码,您可能会看到编译器反转了条件

还请注意,在优化版本上,编译器有时无法维护行表信息

此时,硬件性能计数器和计时仅在内核级别可用


设备代码计时可以使用注释中提到的时钟和时钟64完成。这是一项非常先进的技术,它需要理解SASS并解释与SM warp调度程序相关的结果。

谢谢。看起来很难,但很有趣。你知道Nsight 3.0什么时候发布吗?