使用 Tensorflow 进行基准测试和查找瓶颈

Mar*_*onn 5 ubuntu benchmarking nvidia intel tensorflow

我正在寻找可以帮助我创建用于训练和评估 CNN 模型的数据流时间表的工具。

我想知道每个硬件组件需要多长时间才能完成其工作,并希望找到瓶颈。例如,需要多长时间:

  • 做CPU预处理(如加载和批处理数据)
  • 将数据沿 PCIe 传递到 GPU
  • 使用batch得到梯度下降
  • 将数据沿 PCIe 传回 CPU
  • 平均来自多个 GPU 的梯度下降结果(如果相关)
  • 在 CPU 上做剩余的处理

我正在Tensorflow 教程中CIFAR10 CNN进行这项研究,目的是将研究结果移植到更复杂的 CNN。我正在与:

  • GPU:2x NVIDIA GTX 1080 Ti
  • CPU:英特尔 i7-6850K
  • 内存:64GB
  • 操作系统:Ubuntu 16.04