操作系统WindowsサーバーのためのGPUアクセラレーション
HDX 3 d Pro機能により,WindowsサーバーOSのセッションで実行しているグラフィック処理アプリケーションで,サーバー上のGPU(图形处理器)リソースを使用できるようになります。OpenGL,举、Direct3DおよびWindows Presentation Foundation (WPF)の処理をサーバーのGPUに移すことで,グラフィック処理によりサーバーのCPU速度が低下することを回避できます。また,ワークロードがCPUとGPUで分担されるため,サーバーでより多くのグラフィック処理が可能になります。
Windows服务器はマルチユーザーオペレーティングシステムなので、塞纳普によってアクセスされるGPUは複数のユーザーによって共有でき、GPU仮想化(vGPU)の必要はありません。
このトピックの説明にはレジストリの編集が含まれています。レジストリエディターの使用を誤ると、深刻な問題が発生する可能性があり、窗户の再インストールが必要になる場合もあります。レジストリエディターの誤用による障害に対して、シトリックスでは一切責任を負いません。レジストリエディターは、お客様の責任と判断の範囲でご使用ください。また、レジストリファイルのバックアップを作成してから、レジストリを編集してください。
GPU共有
GPU共有により,リモートデスクトップセッションで動作するOpenGLアプリケーションおよび举アプリケーションでGPUハードウェアによるレンダリング処理が可能になります。これにより,以下の効果があります。
- ベアメタルまたは仮想マシン上で使用でき、アプリケーションのスケーラビリティとパフォーマンスが向上します。
- 複数の同時接続セッションでGPUリソースを共有できます(ほとんどのユーザーは専用GPUのレンダリングパフォーマンスを必要としません)。
- 特別な設定は必要ありません。
複数のGPUを持つグラフィックカードを装着したり、複数のグラフィックカードを装着したりして、ハイパーバイザー上に複数のGPUをインストールして各GPUを特定の仮想マシンに(1対1.で)割り当てることができます。ただし、サーバー上で異なるグラフィックカードを混在させることは推奨されません。
仮想マシンでは,GPUへの直接パススルーアクセスが必要です。Citrix XenServerこの機能は,VMware vSphere vDGA,および英特尔GVT-dで提供されます。HDX 3 d ProとGPUパススルーを併用すると,サーバー上の各GPUで単一のマルチユーザー仮想マシンをサポートできます。
GPU共有は,特定のグラフィックカードに依存するものではありません。
- ハイパーバイザー上では,そのハイパーバイザーのGPUパススルー機能でサポートされるハードウェアプラットフォームとグラフィックカードを選択してください。XenServerのGPUパススルー機能でテストされたハードウェアの一覧については,”GPU直通设备」を参照してください。
- ベアメタルを実行するときは、オペレーティングシステムで単一のディスプレイアダプターを有効にすることをお勧めします。複数のGPUがハードウェアに取り付けられている場合は、デバイスマネージャーを使用して1.つだけ残して無効にします。
GPU共有でのスケーラビリティは,以下の要素により異なります。
- 実行するアプリケーション
- 消費されるビデオRAMの量
- グラフィックカードの処理能力
一部のアプリケーションでは、ビデオ内存の不足をより効果的に処理できます。ハードウェアの負荷が過剰になると、グラフィックカードドライバーが不安定になったり異常停止したりすることがあります。このような問題を避けるには、同時接続ユーザーの数を制限してください。
GPUアクセラレーションが正しく動作しているかどうかを確認するには,GPU-Zなどのサードパーティ製ツールを使用できます。このツールは,https://www.techpowerup.com/gpuz/で提供されています。
举、Direct3DおよびWPFレンダリング
DirectX、Direct3D、およびWPFレンダリングは、DDI(显示驱动程序接口)版本9ex、10、または11をサポートするGPUが搭載されたサーバーでのみ使用可能です。
- Windows Server 2008 R2では、DirectXおよびDirect3Dで単一GPUを使用するために特別な設定は不要です。
- Windows Server 2016およびWindows Server 2012のRD会话主机サーバー上のリモートデスクトップサービス(RDS)セッションでは,デフォルトのアダプターとして微软基本レンダリングドライバーが使用されます。Windows Server 2012上のRDSセッションでGPUを使用するには,グループポリシーの[ローカルコンピューターポリシー]>[コンピューターの構成]>[管理用テンプレート]> [Windowsコンポーネント]>[リモートデスクトップサービス]>[リモートデスクトップセッションホスト]>[リモートセッション環境]です[べてのリモートデスクトップサービスセッションにハードウェアの既定のグラフィックスアダプターを使用する]を有効にします。
- WPFアプリケーションでのレンダリングにサーバーのGPUが使用されるようにするには,WindowsサーバーOSセッションを実行するサーバー上で以下のレジストリキーを設定します。
- [HKEY_LOCAL_MACHINE\SOFTWARE\Citrix\CtxHook\AppInit_Dlls\Multiple Monitor Hook]“EnableWPFHook”=dword:0000000 1
- [HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit\U Dlls\Multiple Monitor Hook]“EnableWPFHook”=dword:0000000 1
CUDAまたはOpenCLアプリケーション用のGPUアクセラレーション機能
ユーザーセッションで実行中の库达および开放运算语言アプリケーションのGPUアクセラレーションは、デフォルトで無効です。
库达アクセラレーションPOC機能を有効にするには、以下のレジストリを設定します。
- 软件\ Citrix \ CtxHook \ [HKEY_LOCAL_MACHINE \ AppInit_Dlls \图形辅助]“CUDA”= dword: 00000001
- [HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \图形辅助Citrix \ CtxHook \ AppInit_Dlls \]字“CUDA”=:00000001
OpenCLアクセラレーションPOC機能を有効にするには,以下のレジストリを設定します。
- 软件\ Citrix \ CtxHook \ [HKEY_LOCAL_MACHINE \ AppInit_Dlls \图形辅助]“OpenCL”= dword: 00000001
- [HKEY\U LOCAL\U MACHINE\SOFTWARE\Wow6432Node\Citrix\CtxHook\AppInit\U Dlls\Graphics Helper]“OpenCL”=dword:0000000 1