1

我已经实现了一个使用单个 GPU 的程序,该程序使用该cudaStreamWaitEvent()函数使用事件在两个流中设置依赖关系。

为了验证这种依赖关系,是否可以使用 Nvidia Visual Profiler 上的“依赖关系分析”视图?

如果不是,依赖分析视图中的以下每个选项提供什么?

  • 聚焦关键路径
  • 突出执行依赖项

nvidia 官方网站此处似乎没有有关这些选项的详细信息

4

1 回答 1

1

是的,您应该能够使用依赖分析功能来验证您对大多数 CUDA 同步 API 的使用,包括cudaStreamWaitEvent.

要使用上述两个选项中的任何一个,您必须已经计算了应用程序跟踪中的依赖关系。为此,在 NVIDIA Visual Profiler 中,选择“Unguided Analysis”,然后选择“Dependency Analysis”。

现在您可以启用“突出显示执行依赖项”,一旦您将鼠标悬停在时间轴上或选择它,它将以红色突出显示时间轴上每个分析活动的传入和传出依赖项。

如果您使用cudaStreamWaitEvent阻塞一个内核,直到另一个独立流中的另一个内核完成,如果它们是直接依赖项,它们将以红色突出显示。

于 2017-08-01T11:52:30.263 回答