gpt4 book ai didi

multithreading - 可以在一个GPU上并行运行多个 tensorflow 推论吗?

转载 作者:行者123 更新时间:2023-12-04 04:32:30 25 4
gpt4 key购买 nike

我正在尝试在一个NVIDIA Tesla V100 GPU上将Tensorflow作为服务运行。作为服务器,我的程序需要同时接受多个请求。因此,我的问题如下:

  • 当多个请求同时到达时,假设我们没有使用批处理,这些请求是在GPU上顺序运行还是并行运行? 我知道独立的进程具有单独的CUDA上下文,这些上下文在GPU上顺序运行。但是这些请求实际上是同一进程中的不同线程,并且应该共享一个CUDA上下文。因此,根据documentation,GPU可以同时运行多个内核。如果是这样,这是否意味着如果我同时有大量请求到达,GPU利用率可以提高到100%?但这在我的实验中从未发生过。
  • 在不同线程中运行一个 session 与在不同线程中运行不同 session 有什么区别? 哪种是实现Tensorflow服务器的正确方法? Tensorflow Serving使用哪一个?

  • 任何建议将被认真考虑。谢谢!

    最佳答案

    关于#1:由于TF为每个物理GPU设备(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/common_runtime/gpu/gpu_device.cc#L284)使用全局单个计算流,因此所有请求将依次在同一GPU上运行

    关于#2:就多流而言,这两个选项相似:默认情况下,不启用多流。如果要尝试多流,可以尝试virtual_device选项(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/core/protobuf/config.proto#L138)

    谢谢。

    关于multithreading - 可以在一个GPU上并行运行多个 tensorflow 推论吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55907275/

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