opengl - 使用 X11 转发和 SSH 时,渲染在哪里执行?

标签 opengl ssh x11 x11-forwarding

当通过 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/

相关文章:

ssh - 通过 SSH 的公共(public) socks 代理

git - 如何将 ssh key 路径添加到 git 命令终端

c++ - OpenGL C++ 不会显示纹理

java - OpenGL:选择哪个多边形面朝前?

opengl - 为什么这个 OpenGL 程序不绘制三角形?

c++ - 在 GLUT 中使用非成员方法作为回调

java - 如何解决 JSch 公钥身份验证失败而其他实用程序使用相同 key 成功的错误?

linux - X11 和 ARGB 视觉效果 : does DefaultDepth() never return 32?

linux - 我如何找出不推荐使用的功能

c++ - XCreateWindow 在 CentOS 5.6 上失败,错误为 : BadValue