gpt4 book ai didi

performance - TensorFlow - Titan X 上的 GPU 使用率低

转载 作者:行者123 更新时间:2023-12-03 20:58:55 28 4
gpt4 key购买 nike

一段时间以来,我一直注意到 TensorFlow (v0.8) 似乎没有充分利用我的 Titan X 的计算能力。对于我一直运行的几个 CNN,GPU 使用率似乎没有超过 ~30%。通常,GPU 利用率甚至更低,大约为 15%。显示这种行为的 CNN 的一个特定示例是 DeepMind 的 Atari 论文中的 CNN,其中包含 Q-learning(代码请参见下面的链接)。

当我看到我们实验室的其他人运行用 Theano 或 Torch 编写的 CNN 时,GPU 使用率通常为 80% 以上。这让我想知道,为什么我在 TensorFlow 中编写的 CNN 如此“慢”,我该怎么做才能更有效地利用 GPU 处理能力?一般来说,我对分析 GPU 操作和发现瓶颈所在的方法感兴趣。任何关于如何做到这一点的建议都非常受欢迎,因为目前 TensorFlow 似乎不太可能。

我所做的事情是为了更多地了解这个问题的原因:

  • 分析 TensorFlow 设备放置 ,一切似乎都在 gpu:/0 上,所以看起来不错。
  • 使用 c简介 ,我已经优化了批量生成和其他预处理步骤。预处理是在单个线程上执行的,但 TensorFlow 步骤执行的实际优化需要更长的时间(请参阅下面的平均运行时间)。提高速度的一个明显想法是使用 TFs 队列运行器,但由于批处理准备已经比优化快 20 倍,我想知道这是否会产生很大的不同。
    Avg. Time Batch Preparation: 0.001 seconds
    Avg. Time Train Operation: 0.021 seconds
    Avg. Time Total per Batch: 0.022 seconds (45.18 batches/second)
  • 在多台机器上运行以排除硬件问题。
  • 大约一周前升级到最新版本的 CuDNN v5 (RC)、CUDA Toolkit 7.5 并重新安装了 TensorFlow。

  • 可以在此处找到发生此“问题”的 Q-learning CNN 示例: https://github.com/tomrunia/DeepReinforcementLearning-Atari/blob/master/qnetwork.py

    NVIDIA SMI 显示 GPU 利用率低的示例: NVIDIA-SMI

    最佳答案

    使用 Tensorflow 的最新版本(我使用的是 Tensorflow 1.4),我们可以获得 runtime statistics并在 Tensorboard 中可视化它们。

    这些统计信息包括计算图中每个节点的计算时间和内存使用情况。

    关于performance - TensorFlow - Titan X 上的 GPU 使用率低,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37533863/

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