GPU上的Tensorflow Matmul计算比CPU慢

斯蒂芬

我是第一次尝试GPU计算,当然希望能够大幅度提高速度。但是,使用tensorflow中的一个基本示例实际上更糟:

在cpu:0上,十次运行中的每一次平均花费2秒,gpu:0花费2.7秒,而gpu:1比cpu:0差3秒,即降低50%。

这是代码:

import tensorflow as tf
import numpy as np
import time
import random

for _ in range(10):
    with tf.Session() as sess:
        start = time.time()
        with tf.device('/gpu:0'): # swap for 'cpu:0' or whatever
            a = tf.constant([random.random() for _ in xrange(1000 *1000)], shape=[1000, 1000], name='a')
            b = tf.constant([random.random() for _ in xrange(1000 *1000)], shape=[1000, 1000], name='b')
            c = tf.matmul(a, b)
            d = tf.matmul(a, c)
            e = tf.matmul(a, d)
            f = tf.matmul(a, e)
            for _ in range(1000):
                sess.run(f)
        end = time.time()
        print(end - start)

我在这里观察什么?运行时间可能主要由在RAM和GPU之间复制数据主导吗?

西吉

用于生成数据的方式是在CPU上执行的(random.random()是常规的python函数,而不是TF-one)。同样,执行10^6一次的时间比10^6一次运行请求随机数要慢将代码更改为:

a = tf.random_uniform([1000, 1000], name='a')
b = tf.random_uniform([1000, 1000], name='b')

因此,数据将在GPU上并行生成,而不会浪费时间将其从RAM传输到GPU。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

WinML在GPU 3上的推理时间比Tensorflow Python慢

来自分类Dev

如何在Google计算引擎上运行Tensorflow GPU容器?

来自分类Dev

Tensorflow:在 GPU 上运行训练阶段,在 CPU 上运行测试阶段

来自分类Dev

Theano GPU计算比numpy慢

来自分类Dev

Tensorflow:如何从CPU tf.data.Dataset(from_generator)预取GPU上的数据

来自分类Dev

在 CPU 上运行 tensorflow-gpu 时结果不正确

来自分类Dev

如何将计算值保留在Tensorflow图中(在GPU上)?

来自分类Dev

matlab convn函数GPU比CPU慢吗?

来自分类Dev

matlab convn函数GPU比CPU慢吗?

来自分类Dev

是否可以使用在大型GPU上创建的Tensorflow保存的模型在小型CPU上进行预测?

来自分类Dev

为什么此代码在GPU上比CPU慢十倍?

来自分类Dev

Tensorflow GPU / CPU性能突然输入上限

来自分类Dev

为什么在专用GPU上JOGL比集成GPU慢?

来自分类Dev

为什么在专用GPU上JOGL会比集成GPU慢?

来自分类Dev

CPU上的变量,GPU上的训练/渐变

来自分类Dev

异步CPU读取和GPU + CPU计算

来自分类Dev

GPU上的Tensorflow:TF无法找到GPU

来自分类Dev

无法在GPU上运行Tensorflow

来自分类Dev

无法在GPU上运行Tensorflow

来自分类Dev

在多个 GPU 上运行 Tensorflow

来自分类Dev

Aparapi GPU执行速度慢于CPU

来自分类Dev

计算能力低于 3.0 的 GPU 上的 Keras?

来自分类Dev

TensorFlow:关键图操作分配给cpu而不是gpu

来自分类Dev

在TensorFlow中分配GPU和CPU资源的最佳实践

来自分类Dev

Keras中的CPU与GPU使用情况(Tensorflow 2.1)

来自分类Dev

为什么使用 GPU 而不是 CPU 时 tensorflow 会变慢?

来自分类Dev

在 openGL 中,模型坐标应该在我的 CPU 上还是在 GPU 上通过 OpenGL 调用计算?

来自分类Dev

在GPU而不是Ubuntu上的CPU上运行Spyder代码

来自分类Dev

GPU上的指针大小与CPU上的指针大小

Related 相关文章

  1. 1

    WinML在GPU 3上的推理时间比Tensorflow Python慢

  2. 2

    如何在Google计算引擎上运行Tensorflow GPU容器?

  3. 3

    Tensorflow:在 GPU 上运行训练阶段,在 CPU 上运行测试阶段

  4. 4

    Theano GPU计算比numpy慢

  5. 5

    Tensorflow:如何从CPU tf.data.Dataset(from_generator)预取GPU上的数据

  6. 6

    在 CPU 上运行 tensorflow-gpu 时结果不正确

  7. 7

    如何将计算值保留在Tensorflow图中(在GPU上)?

  8. 8

    matlab convn函数GPU比CPU慢吗?

  9. 9

    matlab convn函数GPU比CPU慢吗?

  10. 10

    是否可以使用在大型GPU上创建的Tensorflow保存的模型在小型CPU上进行预测?

  11. 11

    为什么此代码在GPU上比CPU慢十倍?

  12. 12

    Tensorflow GPU / CPU性能突然输入上限

  13. 13

    为什么在专用GPU上JOGL比集成GPU慢?

  14. 14

    为什么在专用GPU上JOGL会比集成GPU慢?

  15. 15

    CPU上的变量,GPU上的训练/渐变

  16. 16

    异步CPU读取和GPU + CPU计算

  17. 17

    GPU上的Tensorflow:TF无法找到GPU

  18. 18

    无法在GPU上运行Tensorflow

  19. 19

    无法在GPU上运行Tensorflow

  20. 20

    在多个 GPU 上运行 Tensorflow

  21. 21

    Aparapi GPU执行速度慢于CPU

  22. 22

    计算能力低于 3.0 的 GPU 上的 Keras?

  23. 23

    TensorFlow:关键图操作分配给cpu而不是gpu

  24. 24

    在TensorFlow中分配GPU和CPU资源的最佳实践

  25. 25

    Keras中的CPU与GPU使用情况(Tensorflow 2.1)

  26. 26

    为什么使用 GPU 而不是 CPU 时 tensorflow 会变慢?

  27. 27

    在 openGL 中,模型坐标应该在我的 CPU 上还是在 GPU 上通过 OpenGL 调用计算?

  28. 28

    在GPU而不是Ubuntu上的CPU上运行Spyder代码

  29. 29

    GPU上的指针大小与CPU上的指针大小

热门标签

归档