这三个功能有什么区别,尤其是后两个功能?图书馆手册说
请注意,此函数已弃用,因为其名称不允许 反映其行为。它的功能类似于 应该使用的不推荐使用的函数cudaDeviceSynchronize() 代替。
但不太确定它是什么意思。
答案 0 :(得分:41)
这些都是障碍。在某些条件得到满足之前,障碍会阻止代码执行超出障碍。
cudaDeviceSynchronize
的弃用版本。不推荐使用只是意味着它现在仍然有效,但建议不要使用它(改为使用cudaDeviceSynchronize),将来它可能会变得不受支持。但cudaThreadSynchronize
()和cudaDeviceSynchronize
()基本相同。cudaStreamSynchronize
()将流ID作为其唯一参数。当CPU代码执行继续超出此障碍时,在其他流中发布的cuda任务可能会也可能不会完成。