1. 参考TensorFlow Device Contexts, Streams and Context Switching
问题部分:
In the GPUDevice code, I noticed that one GPUDeviceContext is made per stream.
Is the purpose of this so that every context can control one OpKernelContext and then as the various streams need to be executed, then the contexts can just be switched which handles pushing different data/code onto the GPU and then executing.
Do the various streams get registered as different devices (ie. '/gpu:0' and '/gpu:1')?
Per this, ThreadPoolDevice's don't have contexts, but if I were to add contexts into ThreadPoolDevice, would they fit best as a sort of ThreadContext?
在GPUDevice代码中,我注意到每个流都有一个GPUDeviceContext。这样做的目的是为了使每个上下文都可以控制一个OpKernelContext,然后当各种流需要执行时,那么上下文只需要切换即可将不同的数据/代码推送到GPU上,然后执行。
各种流是否被注册为不同的设备(即'/ gpu:0'和'/ gpu:1')?
根据这一点,ThreadPoolDevice没有上下文,但是如果要将上下文添加到ThreadPoolDevice中,它们是否适合作为一种ThreadContext?