问题标签 [cuda-events]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
610 浏览

cuda - 使用 cudaEventRecord() 记录多 GPU 程序的 CUDA 内核的运行时间

我有一个稀疏三角形求解器,可与 4 个 Tesla V100 GPU 配合使用。我完成了实施,所有事情在准确性方面都运行良好。但是,我使用 CPU 计时器来计算经过的时间。我知道 CPU 计时器不是计算经过时间的完美选择,因为我可以使用 CUDA 事件。

但问题是,我不知道如何为多 GPU 实现 CUDA 事件。正如我从 NVIDIA 教程中看到的,它们使用事件进行 GPU 间同步,即等待其他 GPU 完成依赖关系。无论如何,我将事件定义为;

我还可以通过迭代设置当前 GPU 来循环初始化这些事件。

我的内核执行就像;

我的问题是,我应该如何使用这些事件分别记录每个 GPU 的经过时间?

0 投票
1 回答
45 浏览

cuda - 重用 cudaEvent 序列化多个流

假设我有一个结构:

一个功能:

以及以下场景(狮子、女巫和衣柜也适合某个地方):

以上安全吗?即如果它本身不起作用,它stream2仍然会等待完成它的“工作”吗?stream1结果记录是否会cudaEvent反映这一点,stream3直到stream1完成才开始?