Tensorflow如何支持Cuda流?

13

Tensorflow是否会自动利用Cuda流在单个GPU上并发执行计算图,还是需要手动将流分配给操作/张量?

1个回答

12

目前,TensorFlow只使用一个计算流(compute stream),以及多个拷贝流(copy stream)。一些内核(kernel)可能会选择使用多个流进行计算,同时保持单流语义(single-stream semantics)。

我们的实验表明,自动启用多流并不能带来太多性能提升,因为我们的大多数内核已足够大,可以利用GPU中的所有处理器。但启用多流会禁用我们当前的设计,无法积极回收GPU内存。

这是我们将来可能重新考虑的决定。如果发生这种情况,TensorFlow很可能会自动将操作/内核分配给不同的Cuda流,而不暴露给用户。


1
你知道逻辑设备是否仍然是这种情况吗?换句话说,同一物理设备上的所有逻辑设备是否共享相同的计算流? - Neil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接