代码之家  ›  专栏  ›  技术社区  ›  Rodolphe LAMPE

为什么我的脚本在使用CPU和GPU时具有相同的持续时间?

  •  1
  • Rodolphe LAMPE  · 技术社区  · 6 年前

    我在Ubuntu 16.04、Cuda 9、TensorFlow和GPU 1.8上使用谷歌云平台

    我使用Adam优化器对一个由5个变量组成的函数进行100次迭代,这个函数大约是100个sigmoid函数项的总和。 使用GPU K80需要6-7秒,使用CPU也需要同样的时间!

    我知道它真正使用的是GPU(或CPU),因为我打印了用于操作的设备,所以我的脚本生成的日志类似于:

    add_5/x: (Const): /job:localhost/replica:0/task:0/device:GPU:0 使用GPU和

    add_5/x: (Const): /job:localhost/replica:0/task:0/device:CPU:0 使用CPU时

    为什么要花同样的时间?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Alexandre Passos    6 年前

    GPU并不总是比CPU快。如果没有看到分析器输出,就很难说出这里发生了什么。您的模型在数量上是否密集,批量是否良好(即它是否有大量的matmul或卷积)?如果是这样的话,GPU应该加快你的速度,但它们不是魔法。