【发布时间】:2016-05-21 02:37:49
【问题描述】:
在我工作的地方,我们进行大量数值计算,并且由于 CUDA(与 TensorFlow 和 Theano 一起使用),我们正在考虑购买配备 NVIDIA 显卡的工作站。
我的问题是:这些计算机是否应该配备另一个视频卡来处理显示并为 GPGPU 释放 NVIDIA?
如果有人知道同时使用显卡和 GPGPU 的硬数据,我将不胜感激。
【问题讨论】:
标签: gpu gpgpu theano tensorflow
在我工作的地方,我们进行大量数值计算,并且由于 CUDA(与 TensorFlow 和 Theano 一起使用),我们正在考虑购买配备 NVIDIA 显卡的工作站。
我的问题是:这些计算机是否应该配备另一个视频卡来处理显示并为 GPGPU 释放 NVIDIA?
如果有人知道同时使用显卡和 GPGPU 的硬数据,我将不胜感激。
【问题讨论】:
标签: gpu gpgpu theano tensorflow
经历过这个,我会加两分钱。
有一个专门的计算卡是有帮助的,但绝对没有必要。
我使用了一个带有单个高端 GPU 的开发工作站,用于显示和计算。我还使用了具有多个 GPU 的工作站以及无头计算服务器。
我的经验是,只要对显示器的需求是软件工程的典型需求,就可以在显示器 GPU 上进行计算。在带有几个监视器、Web 浏览器、文本编辑器等的 Linux 设置中,我使用大约 200MB 来显示卡的 6GB 空间——因此只有大约 3% 的开销。您可能会在网页刷新或类似情况下看到显示有点卡顿,但对显示的吞吐量需求非常小。
一个值得注意的完整性技术问题是 NVIDIA 驱动程序、GPU 固件或操作系统可能会在显示 GPU 上出现内核完成超时(运行 NVIDIA 的“deviceQueryDrv”以查看驱动程序的“内核运行时间限制”设置) )。根据我的经验(在 Linux 上),对于机器学习,这从来都不是问题,因为超时是几秒钟,即使使用自定义内核,跨多处理器的同步也会限制你可以在单个内核启动中填充多少内容。我希望 TensorFlow 中预烘焙操作的典型运行低于此限制两个或多个数量级。
也就是说,在一个工作站中拥有多张具有计算能力的卡有一些很大的优势(无论一张是否用于显示)。当然,还有更多吞吐量的潜力(如果您的软件可以使用它)。但是,根据我的经验,主要优势是能够在进行长时间实验的同时开发新的实验。
从一张卡开始然后再添加一张当然是可行的,但请确保您的主板有足够的空间并且您的电源可以处理负载。如果您决定拥有两张卡,其中一张是专用于显示的低端卡,我特别建议不要让低端卡成为支持 CUDA 的卡,以免它被选为计算的默认值。
希望对您有所帮助。
【讨论】:
根据我的经验,在数值计算任务和驱动视频监视器之间共享 GPU 卡是很尴尬的。例如,任何 GPU 上的可用内存都是有限的,这通常是您可以训练的模型大小的限制因素。除非您正在玩游戏,否则相当适中的 GPU 可能足以驱动视频。但对于严肃的 ML 工作,您可能需要高性能卡。在我工作的地方(谷歌),当一个用于数值计算时,我们通常将两个 GPU 放在桌面机器中。
【讨论】: