gpt4 book ai didi

tensorflow - TensorFlow 如何在 Windows 10 上的 GPU 上同时使用共享和专用 GPU 内存?

转载 作者:行者123 更新时间:2023-12-05 06:32:27 26 4
gpt4 key购买 nike

在运行 TensorFlow 作业时,我有时会收到一个非 fatal error ,提示 GPU 内存超出,然后我在 Windows 10 的性能监视器上看到“共享内存 GPU 使用率”上升。

TensorFlow 是如何做到这一点的?我查看了 CUDA 文档,但没有找到对性能监视器中使用的专用和共享概念的引用。 CUDA 中有一个共享内存概念,但我认为它是设备上的东西,而不是我在性能监视器中看到的 RAM,它是由 BIOS 从 CPU RAM 分配的。

注:A similar question被问到但没有被另一张贴者回答。

最佳答案

Windows 10 中的共享内存指的是与cuda shared memory 相同的概念(或在 opencl 中为 local memory),it refers to host accessible/allocated memory from the GPU .对于集成图形处理,主机和设备内存通常与共享内存相同,这要归功于 cpu 和 gpu 位于同一芯片上并且能够访问同一内存。对于具有自己内存的专用图形,这是在主机端分配的单独内存,供 GPU 使用。

用于计算 API 的共享内存,例如通过 GLSL 计算着色器或 Nvidia CUDA 内核指的是程序员管理的缓存层(有时称为 "scratch pad memory" ),它在 Nvidia 设备上存在于每个 SM 中,并且只能被访问通过单个 SM,每个 SM 通常在 32kB 到 96kB 之间。其目的是加快对经常使用的数据的内存访问。

如果你看到并增加了 Tensorflow 中使用的共享内存,你有一个专用显卡,并且你遇到“GPU 内存超出”这很可能意味着你在 GPU 本身上使用了太多内存,所以它正在尝试从其他地方(IE 从系统 RAM)分配内存。 这可能会使您的程序变慢,因为专用显卡的非设备内存上的带宽和延迟会更糟。

关于tensorflow - TensorFlow 如何在 Windows 10 上的 GPU 上同时使用共享和专用 GPU 内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51316975/

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