gpt4 book ai didi

tensorflow - 将共享 GPU 内存与 TensorFlow 一起使用?

转载 作者:行者123 更新时间:2023-12-03 13:31:12 24 4
gpt4 key购买 nike

所以我在一台带有 GeForce GTX 980 的 Windows 10 机器上安装了 GPU 版本的 TensorFlow显卡就可以了。

诚然,我对显卡知之甚少,但据 dxdiag 称,它确实有:
4060MB专用内存 (VRAM) 和;
8163MB共享内存

共约12224MB .

不过,我注意到的是,这种“共享”内存似乎毫无用处。当我开始训练模型时,VRAM 会填满,如果内存需求超过这些 4GB ,TensorFlow 将崩溃并显示“资源耗尽”错误消息。

当然,我可以通过选择适当低的批量大小来防止达到这一点,但我确实想知道是否有办法利用这些“额外”8GB RAM,或者如果就是这样,TensorFlow 需要专用内存。

最佳答案

共享内存是主系统 RAM 中为图形保留的区域。引用:

https://en.wikipedia.org/wiki/Shared_graphics_memory

https://www.makeuseof.com/tag/can-shared-graphics-finally-compete-with-a-dedicated-graphics-card/

https://youtube.com/watch?v=E5WyJY1zwcQ

这种类型的内存是集成显卡(例如 Intel HD 系列)通常使用的内存。

这不在您的 NVIDIA GPU 上,并且 CUDA 无法使用它。 Tensorflow 在 GPU 上运行时无法使用它,因为 CUDA 无法使用它,并且在 CPU 上运行时也无法使用它,因为它是为图形保留的。

即使 CUDA 可以以某种方式使用它。它没有用,因为系统 RAM 带宽大约比 GPU 内存带宽小 10 倍,并且您必须以某种方式通过慢速(和高延迟)PCIE 总线将数据传入和传出 GPU。

引用带宽数字:
GeForce GTX 980:224 GB/秒
台式机主板上的 DDR4:约 25GB/s
PCIe 16x:16GB/s

这不考虑延迟。实际上,对于大到无法放入 GPU 内存且每次访问时都必须通过 PCIe 传输的数据运行 GPU 计算任务对于大多数类型的计算来说非常慢,以至于在 CPU 上执行相同的计算会快得多.

当您的机器中有 NVIDIA 卡时,为什么会看到这种内存被分配?好问题。我可以想到几种可能性:

(a) 您同时启用了 NVIDIA 和 Intel 图形驱动程序(例如,在两者上运行不同的显示器时会发生这种情况)。在 BIOS 中卸载英特尔驱动程序和/或禁用英特尔高清显卡,共享内存将消失。

(b) NVIDIA 正在使用它。这可以是例如额外的纹理内存等。它也可以不是真实内存而只是对应于GPU 内存的内存映射区域。在 NVIDIA 驱动程序的高级设置中查看控制此设置的设置。

无论如何,不​​,Tensorflow 没有任何东西可以使用。

关于tensorflow - 将共享 GPU 内存与 TensorFlow 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47859924/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com