Tensorflow是否会自动利用Cuda流在单个GPU上并发执行计算图,还是需要手动将流分配给操作/张量?
Tensorflow是否会自动利用Cuda流在单个GPU上并发执行计算图,还是需要手动将流分配给操作/张量?
目前,TensorFlow只使用一个计算流(compute stream),以及多个拷贝流(copy stream)。一些内核(kernel)可能会选择使用多个流进行计算,同时保持单流语义(single-stream semantics)。
我们的实验表明,自动启用多流并不能带来太多性能提升,因为我们的大多数内核已足够大,可以利用GPU中的所有处理器。但启用多流会禁用我们当前的设计,无法积极回收GPU内存。
这是我们将来可能重新考虑的决定。如果发生这种情况,TensorFlow很可能会自动将操作/内核分配给不同的Cuda流,而不暴露给用户。