我有一个NVIDIA 2070 GPU和CUDA安装,我有WebGL支持,但当我运行各种TFJS示例,如加法RNN实例或可视化训练实例,我看到我的CPU使用率达到100%,但GPU (通过nvidia-smi计量)从未被使用。
我如何解决这个问题?我没有看到任何关于找不到GPU的控制台消息。TFJS文档对此非常模糊,只是说如果支持WebGL,它就使用GPU,如果找不到WebGL,则返回到CPU。但同样,WebGL也在工作。So...how帮它找到我的GPU?
其他与此相关的问题似乎是关于tfjs节点-gpu的,例如,获得自己的tfjs-节点-gpu安装工作。这不是为了那个。我说的是在我的浏览器上在官方的TFJS页面上运行主要的TFJS示例。
浏览器是Linux的最新Chrome浏览器。运行Ubuntu 18.04。
编辑:,因为有人会问,chrome://gpu显示硬件加速是启用的。输出日志相当长,但下面是顶部:
Graphics Feature Status
Canvas: Hardware accelerated
Flash: Hardware accelerated
Flash Stage3D: Hardware accelerated
Flash Stage3D Baseline profile: Hardware accelerated
Compositing: Hardware accelerated
Multiple Raster Threads: Enabled
Out-of-process Rasterization: Disabled
OpenGL: Enabled
Hardware Protected Video Decode: Unavailable
Rasterization: Software only. Hardware acceleration disabled
Skia Renderer: Enabled
Video Decode: Unavailable
Vulkan: Disabled
WebGL: Hardware accelerated
WebGL2: Hardware accelerated发布于 2020-05-17 02:33:05
从根本上解决了。我找到了这个较旧的职位,需要检查WebGL是在使用“真正的”GPU,还是只使用一些英特尔集成的图形处理器。
为此,转到https://alteredqualia.com/tmp/webgl-maxparams-test/并向下滚动到最底层,查看Unmasked Renderer和Unmasked Vendor标记。
在我的例子中,这些是显示英特尔,而不是我的NVIDIA GPU。
我的System76笔记本电脑可以在“混合图形”模式下运行,在GPU上执行大型计算,但在集成图形上运行GUI元素等较小的功能。(这节省了电池寿命。)但是,尽管一些应用程序能够利用GPU在混合图形模式下的优势--我刚刚运行了一个很棒的对抗性潜在AutoEncoder演示,它在混合图形模式下使我的GPU最大限度地发挥了作用--但并不是所有的应用都是如此。显然,Chrome就是后者的一个例子。
为了让WebGL看到我的NVIDIA,我需要在“完全NVIDIA图形”模式下重新启动我的系统。
在重新启动之后,中的一些TFJS示例将使用GPU,例如可视化训练示例,该示例现在几乎立即训练,而不用花几分钟进行训练。但是 加法RNN实例 仍然只使用CPU。可能是因为@edkeveked指出的缺少后端声明。
https://stackoverflow.com/questions/61843450
复制相似问题