gpt4 book ai didi

cudaStreamSynchronize 与 CudaDeviceSynchronize 与 cudaThreadSynchronize

转载 作者:行者123 更新时间:2023-12-03 10:54:09 35 4
gpt4 key购买 nike

这三个函数有什么区别,尤其是最后两个?图书馆手册说

Note that this function is deprecated because its name does not reflect its behavior. Its functionality is similar to the non-deprecated function cudaDeviceSynchronize(), which should be used instead.



但不是很确定是什么意思。

最佳答案

这些都是障碍。障碍阻止代码在障碍之外执行,直到满足某些条件。

  • cudaDeviceSynchronize()停止在 CPU/主机线程中执行(cudaDeviceSynchronize 在其中发出),直到 GPU 完成处理所有先前请求的 cuda 任务(内核、数据副本等)
  • cudaThreadSynchronize()正如您所发现的,只是 cudaDeviceSynchronize 的弃用版本.弃用只是意味着它现在仍然有效,但建议不要使用它(使用 cudaDeviceSynchronize 代替),将来它可能不受支持。但是cudaThreadSynchronize () 和 cudaDeviceSynchronize () 类似。
  • cudaStreamSynchronize()与上述两个函数类似,但它阻止在 CPU 主机线程中进一步执行,直到 GPU 完成处理所有先前请求的在引用流中发出的 cuda 任务。所以cudaStreamSynchronize () 将流 ID 作为其唯一参数。当 CPU 代码执行继续超出此障碍时,在其他流中发出的 cuda 任务可能完成也可能不完成。
  • 关于cudaStreamSynchronize 与 CudaDeviceSynchronize 与 cudaThreadSynchronize,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13485018/

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