对并发 CUDA 内核进行计时
不幸的是,基于 fermi 的 GPU 将跟踪在 Parallel Nsight 中序列化的任何内核时序,即使它们是不同流中的并发内核。
任何人都可以建议如何使用计时器手动显示不同流中内核的并发性。
干杯 埃德
Unfortunately fermi based GPU's will trace any kernel timing as being serialized in Parallel Nsight, even if they are concurrent kernels in different streams.
Can anyone suggest how to show concurrency of kernels in different streams manually using timers.
Cheers
Ed
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用 Nsight 进行分析目前会禁用并发内核,因此为了获得准确的计时,您需要使用事件来跟踪计时。
您可以按照预期使用事件,并且可以使用 cudaStreamWaitEvent() 使一个流等待另一个流中的事件。请参阅CUDA 参考手册第 4.5.2.5 节了解更多信息。
Profiling with Nsight does currently disable concurrent kernels, so to get accurate timing you'll need to use events to track timing.
You can use events as you'd expect, and you can use
cudaStreamWaitEvent()
to make a stream wait for an event in another stream. See the CUDA Reference Manual section 4.5.2.5 for more information.