如果我通过try Json.Document(value) otherwise replacementValue
注册一个回调,那么将运行什么线程?
CUDA文档说cudaStreamAddCallback()
在流中所有当前已排队的项目完成后添加要在主机上调用的回调。对于每个
cudaStreamAddCallback
调用,回调将只执行一次。回调将阻止流中的后续工作,直到它完成。
但没有说明如何调用回调本身。
答案 0 :(得分:2)
只是为了充实评论,以便这个问题有一个答案,并且会从未答复的队列中删除:
简短的回答是,这是CUDA运行时的内部实现细节,您无需担心它。
更长的答案是,如果仔细查看CUDA运行时的操作,您会注意到设备上的上下文建立(无论是通过驱动程序API显式,还是通过运行时API隐式)都会产生一个小的线程池。正是这些线程用于实现运行时的功能,如流命令队列和回调操作。同样,程序员不需要了解的内部实现细节。