严重性 代码 说明 项目 文件 行 禁止显示状态
错误 C4996 'cudaThreadSynchronize': 被声明为已否决 darknet D:\my_yolov3\darknet-master\darknet-master\src\gemm.c 382
查找知道 cudaThreadSynchronize()在cuda10.0以后被弃用了。
可以用 cudaDeviceSynchronize() 来代替。
函数解释:
cudaDeviceSynchronize() 会阻塞当前程序的执行,直到所有任务都处理完毕(这里的任务其实就是指的是所有的线程都已经执行完了kernel function)。
cudaThreadSynchronize()的功能和cudaDeviceSynchronize()基本上一样,这个函数在新版本的cuda中已经被“废弃”了,不推荐使用,如果程序中真的需要做同步操作,推荐使用cudaDeviceSynchronize()。
cudaStreamSynchronize()和上面的两个函数类似,这个函数带有一个参数,cuda流ID,它只阻塞那些cuda流ID等于参数中指定ID的那些cuda例程,对于那些流ID不等的例程,还是异步执行的。