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