0

这应该很简单,但由于某种原因我无法让它工作。我租用了配备 Nvidea Tesla GPU 的 Softlayer Bare Metal Server。

我正在远程执行一个需要 OpenGL > 2.0 才能正确导出 PNG 文件的程序 (openScad)。当我调用 openScad 并导出模型时,我得到一个 0kb png 文件作为输出,这是不存在 OpenGL > 2.0 支持的明显症状。

为了确保我运行的是 openGL > 2.0,我通过 RD 连接到我的服务器并运行GlView. 令我惊讶的是,我看到服务器只支持 openGL 1.1。

经过一番研究,我发现对于标准 RD 会话,不使用 GPU,所以我只看到 openGL 1.1 是有道理的。问题是当我执行openscad remotley时,似乎也没有使用GPU。

当我远程调用 openscad 时,如何才能成功使服务器的 GPU 功能正常工作?

PS:我检查了softlayer支持,他们不承担任何责任

4

2 回答 2

4

大多数(目前所有)使用 GPU 的 OpenGL 实现都假设存在某种使用该 GPU 的显示系统;在 Windows 的情况下,这将是 GDI。然而,在无头服务器上,Windows 通常不会在 GPU 上启动 GDI,而是使用一些帧缓冲区。

NVidia Tesla GPU 是作为纯计算设备销售的,因此它们的驱动程序不支持任何图形功能(请注意,这是在软件中实现的营销限制,因为芯片完全能够处理图形)。或者换句话说:如果您可以使用 CUDA 或 OpenCL 实现您的图形操作,那么您可以使用它来生成图片。否则(即对于 OpenGL 或 Direct3D)它是无用的。

请注意,NVidia 正在推销其用于远程/云渲染的“GRID”产品。

于 2015-03-13T17:13:40.610 回答
1

我正在回复,因为我过去遇到过类似的问题;还尝试在 Windows 服务器上运行需要 openGL 4 的应用程序。

windows远程桌面确实不会触发opengl。但是,如果您改用tigervnc,然后启动您的openScad 应用程序,它可能会识别您的opengl 驱动程序。至少这个技巧对我有用。(当在程序中打开openGL上下文时,它会扫描监视器/RD的附加i压力)。

希望能帮助到你。

于 2015-07-03T18:48:58.550 回答