【问题标题】:Can NVIDIA Visual Profiler display concurrent kernel execution?NVIDIA Visual Profiler 可以显示并发内核执行吗?
【发布时间】:2023-03-09 05:48:01
【问题描述】:

我在许多论坛上读到 NVIDIA Visual Profiler 会序列化程序以收集时序信息。

但是,在可视化分析器中,在上下文选项卡下,会提供诸如 “GPU 上的内存副本和内核之间没有时间重叠”之类的建议,或者如果内存和内核执行存在重叠,它会显示重叠的时间。此外,如果您查看the following webinar - slide 6,您可以看到重叠内核的输出跟踪。

我想知道分析器是否可以显示有关并发内核执行的信息(即,如果我们使用 3 个不同的流并行运行 3 个内核,分析器是否可以显示这是否确实发生在 GPU 中)。如果是这样,我可以在可视化分析器中的什么位置获取这些信息。

【问题讨论】:

    标签: cuda nvvp


    【解决方案1】:

    是的。

    CUDA Toolkit 5.0 中的 nvprof 和 Visual Profiler (nvvp)(作为预览版提供给注册的 CUDA 开发人员)都支持并发内核执行。

    【讨论】:

    • CUDA Toolkit 4.0 的情况如何,它不允许使用 Visual Profiler 查看并发内核。 (注意并发内核执行不是 memorycpy 和内核执行重叠)
    • 据我所知,内核是在 5.0 之前的分析器中同步运行的。
    • by 5.0 profiler 我猜你指的是 CUDA 5.0,它是新的,仅适用于注册用户。自从引入 Fermi 架构之后,并发内核执行就已经可用了。 (如果我没记错的话,那是所有具有 CUDA 计算能力 2.x 的设备)。你怎么知道如何使用你的分析器显示这个内核并发性(它是 GPU 时间宽度图)。
    • 没错,只要您有 Fermi 或 Kepler 硬件,您就可以在 5.0 之前的 CUDA 工具包上同时运行内核。但是当应用程序在分析模式下执行时,内核是串行运行的。 5.0 profiler 不再有这个限制,它的时间线将正确显示同时运行的内核(例如它们的运行将重叠)
    • Nsight Visual Studio 版从 2.0(Fermi 发布)开始支持并发内核跟踪。 Nsight 2.1 添加了设备到设备内存副本和内存集操作的并发跟踪(在大多数情况下作为内核实现)。 Visual Profiler 5.0 使用与 Nsight Visual Studio Edition 相同的解决方案。
    猜你喜欢
    • 2020-12-08
    • 1970-01-01
    • 2013-08-31
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    • 2019-02-26
    相关资源
    最近更新 更多