gpt4 book ai didi

c++ - CU_CTX_SCHED_BLOCKING_SYNC 是否使内核同步?

转载 作者:搜寻专家 更新时间:2023-10-31 02:06:18 26 4
gpt4 key购买 nike

使用 CU_CTX_SCHED_BLOCKING_SYNC 创建 CUDA 上下文是否会使 CUDA 内核启动实际上是同步的(即像普通 CPU 同线程函数那样停止 CPU 线程)?

仅文档说明

CU_CTX_SCHED_BLOCKING_SYNC: Instruct CUDA to block the CPU thread on a synchronization primitive when waiting for the GPU to finish work.

但我不确定我是否理解正确。

最佳答案

没有。

这些标志控制主机线程在主机<->设备同步API(如cuCtxSynchronize )时的行为方式。 , cuEventSynchronize , 或 cuStreamSynchonize使用主机 API 调用。在这两种情况下,其他非阻塞 API 调用都是异步的。

宿主行为有两种模型,阻塞或让步。阻塞意味着调用主机线程将在等待调用返回时自旋并阻止其他线程对驱动程序的访问,yield 意味着它可以让位于其他试图与 GPU 驱动程序交互的主机线程。

如果您想在内核启动时强制执行阻塞行为,请使用 CUDA_ LAUNCH_ BLOCKING 环境变量。

关于c++ - CU_CTX_SCHED_BLOCKING_SYNC 是否使内核同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50503347/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com