CUDA 编程:流、事件与内核执行详解
1. GPU/GPU 同步:cudaStreamWaitEvent()
此前介绍的同步函数多与 CPU/GPU 同步相关,而 cudaStreamWaitEvent() 函数则是异步于 CPU 的。它能让指定的流等待,直到某个事件被记录。流和事件不一定要关联到同一个 CUDA 设备。
2. 多 GPU 上的流和事件:注意事项与限制
- 作用域 :流和事件存在于上下文(或设备)的作用域内。当调用
cuCtxDestroy()或cudaDeviceReset()时,相关的流和事件会被销毁。 - 内核启动和事件记录 :内核启动和
cu(da)EventRecord()只能使用同一上下文/设备中的 CUDA 流。 - 内存复制 :
cudaMemcpy()可以与任何流一起调用,但最好从源上下文/设备调用它。 - 事件等待 :
cudaStreamWaitEvent()可以使用任何流对任何事件进行调用。
3. 源代码参考
以下是一些源代码文件及其描述:
| 文件名 | 描述 |
| — | — |
| breakevenDtoHMemcpy
超级会员免费看
订阅专栏 解锁全文
1288

被折叠的 条评论
为什么被折叠?



