不仅GPU上的多个线程之间有时需要考虑同步的问题。
CPU向GPU分发任务之后同样不会等待GPU运行结束,而是会继续进行。所以对于host需要等待device运行结束的场景,需要使用类似于操作系统中join()
的操作
以计时event
为例,使用cudaEventSynchronize
操作来等待GPU全部执行结束,CPU才可以读取时间信息。
时间:2021-05-10 20:01:15
不仅GPU上的多个线程之间有时需要考虑同步的问题。
CPU向GPU分发任务之后同样不会等待GPU运行结束,而是会继续进行。所以对于host需要等待device运行结束的场景,需要使用类似于操作系统中join()
的操作
以计时event
为例,使用cudaEventSynchronize
操作来等待GPU全部执行结束,CPU才可以读取时间信息。