当通过 X11 转发(例如,使用 ssh -X
或 -Y
)ssh 连接到远程系统(例如具有强大计算能力和/或图形硬件的集群)时,图形渲染在哪里完成?您将如何以利用集群图形硬件的方式运行图形密集型工作负载?在集群上的 VM 中运行程序是否会使问题复杂化?
最佳答案
在 X11 中,渲染总是发生在 X11 服务器端,即在运行显示服务器的系统上。
How would you run a graphics-intensive workload in such a way that it took advantage of the cluster's graphics hardware?
通过在集群系统上运行 X11 服务器并且仅将输出重定向到显示系统。有几个项目实现了这个:VirtualGL 和 Chromium 等等。
然而,我个人最喜欢的是将 Xpra 与使用 GPU 的 X 服务器一起使用。然而,不幸的缺点是,使用 Xorg 当前的驱动程序模型,您无法在 X 服务器之间共享 GPU。是的,您可以同时运行多个 X 服务器,但任何时候都只有一个可以使用 GPU。
还要记住,集群 GPU 渲染并不容易完成。迄今为止,NVidia 是唯一一家提供交 key 远程集群渲染解决方案的 GPU 供应商。
关于opengl - 使用 X11 转发和 SSH 时,渲染在哪里执行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24576946/