【发布时间】:2018-11-19 12:45:50
【问题描述】:
NVidia GP100 有 30 个 TPC 电路和 240 个“纹理单元”。 TensorFlow 是否使用 TPC 和纹理单元,或者这些一次性硅片是否用于机器学习?
我正在运行的神经网络训练会话中查看 GPU-Z 和 Windows 10 的内置 GPU 性能监视器,我发现各种硬件功能未得到充分利用。 TensorFlow 使用 CUDA。我认为 CUDA 可以访问所有硬件组件。如果我知道差距在哪里(Tensorflow 和底层 CUDA 之间)以及它是否是物质的(浪费了多少硅),例如,我可以通过制作 TensorFlow 的克隆、修改它,然后提交拉取请求来进行补救。
例如,下面的答案讨论了可从 CUDA 访问的纹理对象。 NVidia 指出这些可用于speed up latency-sensitive, short-running kernels。如果我用谷歌搜索“TextureObject tensorflow”,我不会得到任何点击。所以我可以假设,除非有相反的证据,TensorFlow 没有利用 TextureObjects。
NVidia 销售用于神经网络训练的 GPGPU。到目前为止,他们似乎已经对他们的电路采取了双重用途的策略,所以他们离开了不用于机器学习的电路。这就引出了一个纯粹的 TensorFlow 电路是否更高效的问题。 Google is now promoting TPUs for this reason. 对于 TensorFlow,TPU 是否真的比 NVidia GPU 便宜,目前尚无定论。 NVidia is challenging Google price/performance claims.
【问题讨论】:
-
是否有不同的 Stack Exchange 会更受欢迎,例如人工智能还是交叉验证?我选择 StackOverlow 是因为它发布了更多 TensorFlow 和 GPU 问题。
-
也许试试人工智能?不太确定。
-
好的,但是我冒着其他一些不赞成投票的风险,然后让我很难进行交叉发布。我可以换一种方式问它,那就是问 CUDA 的哪些部分命中了 NVidia GPGPU 硬件的哪些部分。
-
您最近编辑的最后一段有什么意义? Nvidia 将 GPU 推向不仅仅是神经网络,包括科学计算和光线追踪医学成像和自动驾驶汽车……如果可以的话,Nvidia 会将其 gpu 推销为治疗癌症的方法(我收到他们的电子邮件几乎完全声称这一点。 ..)。它们被称为 GPGPU 是有原因的,它们不仅仅用于神经网络。
-
Why do people use GPUs for high-performance computation instead of a more specialized chip? 解释了为什么规模经济意味着我们通常不会为每个单独的任务获得专用硬件,而是像 GPU 这样擅长许多大规模并行任务的可编程硬件。我认为执行单元占据了大部分芯片面积/热量,因此运行没有充分利用每个晶体管的软件不会“浪费”很多东西。
标签: tensorflow gpu gpgpu