Product Documentation

OpenGL GPU 共享

Sep 15, 2015

OpenGL GPU Sharing 支持图形处理器 (GPU) 硬件在远程桌面会话中呈现 OpenGL 应用程序。此功能可用于裸机或虚拟机,以提高应用程序的可扩展性及性能。

通过 HDX 3D Pro,使用大量图形的应用程序可以呈现在服务器的 GPU 上。通过将 OpenGL 呈现移至服务器的 GPU,图形呈现不会降低服务器的中央处理器 (CPU) 的速度。此外,服务器还能够处理更多图形,因为工作负载在 CPU 和 GPU 之间进行了拆分。OpenGL GPU Sharing 功能无需任何特殊设置。

您可以在服务器上安装多个 GPU,方法是安装一个配备有多个 GPU 的图形卡,或者安装多个每个都配备有一个或多个 GPU 的图形卡。建议不要在服务器上混合使用异类图形卡。
注意:虚拟机需要直通访问 GPU,这可通过使用 Citrix XenServer 或 VMware vSphere 实现。当 HDX 3D Pro 与 GPU 直通结合使用时,服务器中的每个 GPU 将支持一台多用户虚拟机。

大多数用户并不需要一个专用 GPU 进行呈现,因此 OpenGL GPU Sharing 支持多个共享 GPU 资源的并发会话。此功能不依赖任何特定的图形卡。在虚拟机管理程序上运行时,请选择与虚拟机管理程序的 GPU 直通实现兼容的硬件平台和图形卡。有关已通过 XenServer GPU 直通证书测试的硬件列表,请访问 http://hcl.vmd.citrix.com/GPUPass-throughDeviceList.aspx。当系统在裸机上运行时,会在满足条件的多个 GPU 之间分配用户会话。为了确保所有已安装的 GPU 都符合条件,请使用相同的 GPU。

使用 OpenGL GPU Sharing 的可扩展性取决于正在运行的应用程序、占用的视频 RAM 量以及图形卡的处理能力。例如,对于运行 ESRI ArcGIS 等应用程序的 NVIDIA Q6000 和 M2070Q 卡,已报告具有 8 至 10 位用户的可扩展性。这些卡提供 6 GB 的视频 RAM。较新的 NVIDIA GRID 卡提供 8 GB 的视频 RAM 和显著提高的处理能力(更多 CUDA 核心)。其他应用程序可能会提高更多,在高端 GPU 上达到 32 个并发用户。
注意:某些应用程序处理视频 RAM 短缺的能力要优于其他应用程序。如果硬件严重过载,可能会导致图形卡驱动程序不稳定或崩溃。可限制并发用户的数量,以避免此类问题。

可以使用第三方工具(如 GPU-Z)来确定是否已实现 GPU 加速。GPU-Z 可从 http://www.techpowerup.com/gpuz/ 获取。

下载 OpenGL GPU 共享功能:

您可以从 XenApp 6.5 Feature Pack 2 下载页面下载 OpenGL GPU Sharing 功能。从包含所有 XenApp 6.5 Feature Pack 2 许可证版本的所有可用功能的 zip 文件获取此功能。

您需要具有一个与 XenApp 6.5 的许可证授权关联的 Citrix 帐户,才能使用下载页面上的查看和下载功能。您只能看到根据许可证授权您使用的功能。下载页面上将显示可下载的功能,具体取决于授权的版本级别:Platinum、Enterprise 或 Advanced。如果您没有与 XenApp 6.5 的许可证授权关联的 Citrix 帐户,Citrix 客户支持可以向您提供帮助。

  1. 转至 XenApp 下载页面
  2. 找到 XenApp 6.5 Feature Pack 2 并单击 Log in for more(登录以了解更多信息)。
  3. 提供您的 Citrix 用户名和密码。
  4. 找到 XenApp 6.5 Feature Pack 2 Components Common to all Editions(所有版本通用的 XenApp 6.5 Feature Pack 2 组件)并单击 Download(下载)。
  5. 运行文件 xa65fp2.zip,提取 XA650W2K8R2X64038.msp,并将此修补程序应用到要启用 GPU 共享功能的 XenApp 服务器。

在 OpenCL 应用程序之间启用 GPU Sharing 功能

此版本完全支持在运行于用户会话中的 OpenCL 应用程序之间进行 GPU Sharing。

警告:注册表编辑不当会导致严重问题,可能导致需要重新安装操作系统。Citrix 无法保证因“注册表编辑器”使用不当导致出现的问题能够得以解决。使用“注册表编辑器”需自担风险。在编辑注册表之前,请务必进行备份。

默认情况下,此项 OpenCL 支持功能处于禁用状态,但您可以通过编辑以下注册表设置来启用该功能:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "OpenCL"=dword:00000001
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "OpenCL"=dword:00000001

为 CUDA 应用程序尝试实验性的 GPU Sharing 功能

此版本还实验性地支持在运行于用户会话中的 CUDA 应用程序之间进行 GPU Sharing。默认情况下,会禁用此支持功能,但可以启用该功能以进行测试和评估。
警告:注册表编辑不当会导致严重问题,可能导致需要重新安装操作系统。Citrix 无法保证因“注册表编辑器”使用不当导致出现的问题能够得以解决。使用“注册表编辑器”需自担风险。在编辑注册表之前,请务必进行备份。

要使用 CUDA 加速功能(实验阶段),请启用以下注册表设置:

  • [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "CUDA"=dword:00000001
  • [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit_Dlls\Graphics Helper] "CUDA"=dword:00000001