gpt4 book ai didi

tensorflow - 工作线程和参数服务器在分布式 TensorFlow 中的什么位置?

转载 作者:行者123 更新时间:2023-12-01 03:22:52 27 4
gpt4 key购买 nike

在此 post ,有人提到:

Also, there's no built-in distinction between worker and ps devices -- it's just a convention that variables get assigned to ps devices, and ops are assigned to worker devices.



在此 post ,有人提到:

TL;DR: TensorFlow doesn't know anything about "parameter servers", but instead it supports running graphs across multiple devices in different processes. Some of these processes have devices whose names start with "/job:ps", and these hold the variables. The workers drive the training process, and when they run the train_op they will cause work to happen on the "/job:ps" devices, which will update the shared variables.



问题:
  • ps 中做变量驻留在 CPU 或 GPU 上?此外,如果 "/job:ps" 是否有任何性能提升?驻留在 CPU 或 GPU 上?
  • 较低级别的库是否决定将变量或操作放在何处?
  • 最佳答案

    Do variables in ps reside on the CPU or GPU? Also, are there any performance gains if "/job:ps" resides on CPU or GPU?



    您可以置顶 ps工作到其中任何一个(有异常(exception),见下文),但将其固定到 GPU 是不切实际的。 ps实际上是参数和操作的存储以更新它。 CPU 设备可以拥有比 GPU 多得多的内存(即主 RAM),并且足够快以在梯度出现时更新参数。在大多数情况下,矩阵乘法、卷积和其他昂贵的操作由工作人员完成,因此放置了 worker在 GPU 上是有道理的。 ps 的放置给 GPU 是一种资源浪费,除非 ps工作是做一些非常具体和昂贵的事情。

    但是:Tensorflow 目前没有用于整数变量的 GPU 内核,因此当 Tensorflow 尝试放置变量 i 时,以下代码将失败在 GPU #0 上:

    with tf.device("/gpu:0"):
    i = tf.Variable(3)

    with tf.Session() as sess:
    sess.run(i.initializer) # Fails!

    带有以下消息:
    Could not satisfy explicit device specification '/device:GPU:0' 
    because no supported kernel for GPU devices is available.

    当无法为参数选择设备时就是这种情况,因此对于参数服务器:只有 CPU。

    Do the lower level libraries decide where to place a variable or operation?



    如果我答对了这个问题,节点放置规则非常简单:
  • 如果节点在之前运行的图形中已经放置在设备上,则它会留在该设备上。
  • 否则,如果用户通过 tf.device 将节点固定到设备上,放置器将其放置在该设备上。
  • 否则,它默认为 GPU #0,如果没有 GPU,则默认为 CPU。

  • Tensorflow whitepaper还描述了一个动态布局器,它更复杂,但它现在不是 tensorflow 开源版本的一部分。

    关于tensorflow - 工作线程和参数服务器在分布式 TensorFlow 中的什么位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44014610/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com