Tensorflow 如何支持 Cuda 流?
How does Tensorflow support Cuda streams?
Tensorflow 是自动利用 Cuda 流在单个 GPU 上并发执行计算图,还是应该将流手动分配给 ops/tensors?
目前,TensorFlow 仅使用一个计算流和多个复制流。一些内核可能会选择使用多个流进行计算,同时保持单流语义。
我们的实验表明,自动启用多流不会带来太多性能提升,因为我们的大多数内核都足够大,可以利用 GPU 中的所有处理器。但是启用多流将使我们当前的设计无法积极回收 GPU 内存。
这是我们将来可能会重新考虑的决定。如果发生这种情况,TensorFlow 可能会自动将 ops/kernels 分配给不同的 Cuda 流,而不将它们暴露给用户。
Tensorflow 是自动利用 Cuda 流在单个 GPU 上并发执行计算图,还是应该将流手动分配给 ops/tensors?
目前,TensorFlow 仅使用一个计算流和多个复制流。一些内核可能会选择使用多个流进行计算,同时保持单流语义。
我们的实验表明,自动启用多流不会带来太多性能提升,因为我们的大多数内核都足够大,可以利用 GPU 中的所有处理器。但是启用多流将使我们当前的设计无法积极回收 GPU 内存。
这是我们将来可能会重新考虑的决定。如果发生这种情况,TensorFlow 可能会自动将 ops/kernels 分配给不同的 Cuda 流,而不将它们暴露给用户。