我已经实现了一个使用单个 GPU 的程序,该程序使用该cudaStreamWaitEvent()
函数使用事件在两个流中设置依赖关系。
为了验证这种依赖关系,是否可以使用 Nvidia Visual Profiler 上的“依赖关系分析”视图?
如果不是,依赖分析视图中的以下每个选项提供什么?
- 聚焦关键路径
- 突出执行依赖项
nvidia 官方网站和此处似乎没有有关这些选项的详细信息
我已经实现了一个使用单个 GPU 的程序,该程序使用该cudaStreamWaitEvent()
函数使用事件在两个流中设置依赖关系。
为了验证这种依赖关系,是否可以使用 Nvidia Visual Profiler 上的“依赖关系分析”视图?
如果不是,依赖分析视图中的以下每个选项提供什么?
nvidia 官方网站和此处似乎没有有关这些选项的详细信息
是的,您应该能够使用依赖分析功能来验证您对大多数 CUDA 同步 API 的使用,包括cudaStreamWaitEvent
.
要使用上述两个选项中的任何一个,您必须已经计算了应用程序跟踪中的依赖关系。为此,在 NVIDIA Visual Profiler 中,选择“Unguided Analysis”,然后选择“Dependency Analysis”。
现在您可以启用“突出显示执行依赖项”,一旦您将鼠标悬停在时间轴上或选择它,它将以红色突出显示时间轴上每个分析活动的传入和传出依赖项。
如果您使用cudaStreamWaitEvent
阻塞一个内核,直到另一个独立流中的另一个内核完成,如果它们是直接依赖项,它们将以红色突出显示。