使用集成显卡在云 docker 容器内进行无头渲染
Using integrated graphics for headless rendering inside a cloud docker container
简短版
如何在 Google Cloud Kubernetes Engine pod 中获得集成图形加速的无头 X 显示 运行?
背景
我正在从事一个涉及 运行 大量并行模拟环境的强化学习项目。我正在使用 Google Cloud Kubernetes Engine 和 panda3d rendering to an Xvfb 虚拟显示器进行模拟。
但是,我注意到我的 Macbook 上的模拟运行速度比 Kubernetes 上的快 2 倍,并且分析表明差异完全来自 drawing the frame。其他运算——比如线性代数——最多慢 30%。我的理论是,这是因为在我的 Macbook 上,panda3d 可以利用集成显卡,而 Xvfb 使用软件渲染。
我的猜测——在下面的链接中收集信息——诀窍是获得硬件加速的无头 X 服务器 运行,然后使用虚拟 GL 将其分叉到第二个 Xvfb 显示器上。但是主啊,我在这里已经超出了我的深度。
不确定性
- 硬件渲染与软件渲染真的是我速度变慢的根源吗?
- Google云实例有集成显卡吗?
- Kubernetes pod 可以在不修改主机的情况下使用集成显卡吗?
有用的资源
我会按顺序回答你的问题:
很可能是,但根据您提供的信息很难确定。这取决于您使用的软件和库 (panda3d) 如何处理渲染。
Google Cloud Compute Engine 实例没有集成显卡,但您始终可以使用 GPU(支持的 GPU 和相关区域已列出 here). You can enable virtual displays on certain instances as explained in this document.
您可以在 Google 云中设置 Kubernetes 集群或节点池,其中节点配备了 Nvidia GPU,如解释的那样 here。
您可以在 here 中查看一些示例,了解如何在 Google 云平台上将 Kubernetes 与 GPU 结合使用。
简短版
如何在 Google Cloud Kubernetes Engine pod 中获得集成图形加速的无头 X 显示 运行?
背景
我正在从事一个涉及 运行 大量并行模拟环境的强化学习项目。我正在使用 Google Cloud Kubernetes Engine 和 panda3d rendering to an Xvfb 虚拟显示器进行模拟。
但是,我注意到我的 Macbook 上的模拟运行速度比 Kubernetes 上的快 2 倍,并且分析表明差异完全来自 drawing the frame。其他运算——比如线性代数——最多慢 30%。我的理论是,这是因为在我的 Macbook 上,panda3d 可以利用集成显卡,而 Xvfb 使用软件渲染。
我的猜测——在下面的链接中收集信息——诀窍是获得硬件加速的无头 X 服务器 运行,然后使用虚拟 GL 将其分叉到第二个 Xvfb 显示器上。但是主啊,我在这里已经超出了我的深度。
不确定性
- 硬件渲染与软件渲染真的是我速度变慢的根源吗?
- Google云实例有集成显卡吗?
- Kubernetes pod 可以在不修改主机的情况下使用集成显卡吗?
有用的资源
我会按顺序回答你的问题:
很可能是,但根据您提供的信息很难确定。这取决于您使用的软件和库 (panda3d) 如何处理渲染。
Google Cloud Compute Engine 实例没有集成显卡,但您始终可以使用 GPU(支持的 GPU 和相关区域已列出 here). You can enable virtual displays on certain instances as explained in this document.
您可以在 Google 云中设置 Kubernetes 集群或节点池,其中节点配备了 Nvidia GPU,如解释的那样 here。
您可以在 here 中查看一些示例,了解如何在 Google 云平台上将 Kubernetes 与 GPU 结合使用。