【问题标题】:NVIDIA Parallel Nsight Vs Visual ProfilerNVIDIA Parallel Nsight 与 Visual Profiler
【发布时间】:2012-09-21 02:38:54
【问题描述】:

我正在 Windows 平台上使用 CUDA。在 Windows 平台上,我们可以访问 Parallel Nsight 和 Visual Profiler。两者都非常好,但是它们具有几乎相似的分析和跟踪功能。有人能告诉我它们有什么不同吗?哪一个更适合 Windows 平台??我基本上需要一个分析工具。

【问题讨论】:

    标签: cuda profiler nsight


    【解决方案1】:

    Nsight Visual Studio 2.2 版与 Visual Profiler 相比具有以下优势:

    总体

    1. 集成到 Visual Studio 2008 SP1 和 2010(需要专业版,因为 VS Express 版不支持集成包)。

    2. 本地和远程分析会话。远程会话也可以配置为将应用程序和资源复制到远程系统。

    3. 从目标应用程序或进程树中收集信息。

    4. 报表视图支持更高级的分组和过滤。数据表可以导出到excel。

    跟踪活动

    1. 跟踪操作系统活动,包括进程、线程和模块生命周期、线程上下文切换、线程等待原因、CPU 利用率、进程 CPU 利用率和线程利用率。

    2. 收集 CUDA、OpenGL 2.x-3.x、DirectX 9-11 和 OpenCL 1.1 的 API 和 GPU 工作跟踪,并在时间线上显示所有信息。

    3. 收集所有跟踪的 API 调用或仅当跟踪的 API 调用返回错误时的调用堆栈跟踪。

    4. CUDA 软件计数器显示每个上下文分配的内存。

    5. 对跟踪的信息进行额外控制。这一点至关重要,因为跟踪太多信息会导致应用程序受 CPU 限制。

    6. 来自 NVIDIA 工具扩展库和 D3D 性能标记的用户注释的时间线和树显示。

    CUDA 分析活动

    1. CUDA 分析器提供了一种方法来捕获您的内核并多次重放它,这对您的应用程序是透明的。这允许在非确定性应用程序中收集分析数据,并且只需启动 1 次应用程序。 Visual Profiler

    2. 支持收集 Visual Profiler 尚不支持的许多有用指标,包括符合条件的 warp申请。

    Visual Profiler 具有以下优点:

    1. 跨平台。

    2. 提供专家系统来审核收集的信息。

    3. 结果中指向 CUDA 最佳实践指南的链接。

    4. 点击事件时,时间轴可以显示 CPU 和 GPU 事件之间的相关性。

    5. CUDA 5.0 支持新的命令行分析器 (nvprof)。

    6. CUDA 5.0 支持分支分歧的源关联和具有不良访问模式的内存访问。

    7. CUDA 5.0 分析器已集成到 Nsight Eclipse 版本中。

    8. 更好地支持 Tesla PM 计数器。

    CUDA 5.0 中的 Visual Profiler 添加了 Nsight 1.5 和 2.x 中可用的许多功能,包括

    • NVIDIA 工具扩展库,用于使用可显示在时间线中的范围和标记来注释您的应用程序。

    • Fermi 和 Kepler GPU 上的并发内核跟踪。

    这两种工具都将为您提供非常有用的信息来分析您的应用程序。我建议您使用每个工具的最新版本。

    即将发布的 Nsight VSE 版本将具有许多用于调查 CUDA 内核执行的新功能。如需更多信息,请参阅http://developer.download.nvidia.com/GTC/PDF/GTC2012/PresentationPDF/S0430-GTC2012-Developing-CUDA-Nsight.pdf

    【讨论】:

      【解决方案2】:

      编辑(改变主意):基于对 NVIDIA Parallel Nsight 和 Visual Profiler 的重新评估,我现在发现 NVIDIA Parallel Nsight 更适合进行性能分析。

      @Jeff Davis 的回答进一步解释了原因。

      【讨论】:

        【解决方案3】:

        Parallel Nsight 具有直接内置到 Visual Studio 中的优势,并为 Windows 开发人员提供了自然的工作流程。

        • 在 Parallel Nsight 2.2 中,只要将目标设置为“localhost”,就会自动启动 Monitor。分析和 CUDA 分析以及 CUDA 调试都是如此。

        • Monitor 需要很短的时间才能启动(与启动您最喜欢的 Web 浏览器的时间大致相同),但只有一次。在 Monitor 终止或机器重新启动之前,无需再次启动 Monitor。

        【讨论】:

          猜你喜欢
          • 2011-08-11
          • 1970-01-01
          • 2012-02-02
          • 2016-06-23
          • 2016-02-11
          • 1970-01-01
          • 2021-12-04
          • 1970-01-01
          • 2012-12-31
          相关资源
          最近更新 更多