我正在为Tensorflow实现一个新设备。我想在Device和DeviceContext之间做一些澄清。我已阅读this question,但我想我需要更多信息。
我的系统中的每个设备是否都有一个设备实例,设备实例是否维护有关该物理设备的信息?然后,DeviceContext应该维护有关此设备的运行时信息。
在另一个问题中,答案表明GPU设备维护多个设备上下文,每个流对应一个流,给定特定作业的流(复制与执行)。这听起来像内核操作绑定到特定的设备上下文,如果是这样,何时/何地发生?
答案 0 :(得分:1)
由于GPUDevice有multiple contexts per device,我认为你不需要每个设备有一个上下文。因此,我同意设备类将包含有关实际硬件的最小数据,设备上下文将表现为更多的设备运行时控制(处理内存分配,数据传输,执行等),以{ {3}}在上下文中
内核操作与GPU中的上下文的绑定发生在names of the functions中,其中计算图节点附加到设备上下文。