GPU アクセラレーション
HDX™ Graphicsは、Virtual Delivery Agent (VDA) とエンドポイントデバイスの両方でGPUハードウェアをシームレスに活用します。
以前はHDX 3D Proとして知られていたこの標準のハードウェアアクセラレーションは、デフォルトで有効になっており、シングルセッションおよびマルチセッションオペレーティングシステムの両方で、グラフィックを多用するDirectXおよびOpenGLアプリケーションのパフォーマンスを大幅に向上させます。
Citrix Virtual Apps and Desktops™ は、Windows マルチセッション OS セッションで実行されるグラフィックを多用するアプリケーションを、サーバーのグラフィック処理ユニット (GPU) でレンダリングすることをサポートします。OpenGL、DirectX、Direct3D、および Windows Presentation Foundation (WPF) のレンダリングをサーバーの GPU に移動することで、サーバーの CPU をより効率的に使用できます。
Windows Serverはマルチユーザーオペレーティングシステムであるため、複数のユーザーがGPU仮想化 (vGPU) の必要なしに、Citrix Virtual Apps™によってアクセスされるGPUを共有できます。
レジストリの編集を伴う手順については、注意してください。レジストリを誤って編集すると、オペレーティングシステムの再インストールが必要になるような深刻な問題が発生する可能性があります。Citrix®は、レジストリエディターの誤った使用によって生じる問題が解決されることを保証できません。レジストリエディターは自己責任で使用してください。編集する前にレジストリをバックアップしてください。
GPU 共有
GPU共有により、リモートデスクトップセッションでOpenGLおよびDirectXアプリケーションのGPUハードウェアレンダリングが可能になります。これには次の特性があります。
-
アプリケーションのスケーラビリティとパフォーマンスを向上させるために、ベアメタルまたは仮想マシンで使用できます。
-
複数の同時セッションがGPUリソースを共有できるようにします (ほとんどのユーザーは専用GPUのレンダリングパフォーマンスを必要としません)。
-
特別な設定は不要です。
GPUは、ハイパーバイザーおよびGPUベンダーの要件に従って、フルパススルーモードまたは仮想GPU (vGPU) モードのいずれかでWindows Server仮想マシンに割り当てることができます。物理Windows Serverマシンへのベアメタル展開もサポートされています。
GPU共有は特定のグラフィックカードに依存しません。
-
仮想マシンでは、使用中のハイパーバイザーと互換性のあるグラフィックカードを選択してください。XenServerのハードウェア互換性リストについては、Hypervisor Hardware Compatibility Listを参照してください。
-
ベアメタルで実行する場合、オペレーティングシステムによって有効化された単一のディスプレイアダプターを使用することをお勧めします。ハードウェアに複数のGPUがインストールされている場合は、デバイスマネージャーを使用して、1つを除くすべてを無効にしてください。
GPU Sharing を使用したスケーラビリティは、いくつかの要因によって異なります。
-
実行されているアプリケーション
-
消費するビデオ RAM の量
-
グラフィックカードの処理能力
一部のアプリケーションは、他のアプリケーションよりもビデオ RAM の不足をうまく処理します。ハードウェアが過負荷になると、グラフィックカードドライバーの不安定化やクラッシュが発生する可能性があります。このような問題を回避するには、同時ユーザー数を制限してください。
-
NVIDIA GPUおよびIntel Iris Proグラフィックプロセッサ用の高性能ビデオエンコーダーへのアクセス。ポリシー設定(デフォルトで有効)がこの機能を制御し、H.264エンコーディング(利用可能な場合)にハードウェアエンコーディングの使用を許可します。そのようなハードウェアが利用できない場合、VDAはソフトウェアビデオコーデックを使用したCPUベースのエンコーディングにフォールバックします。詳細については、「グラフィックポリシー設定」を参照してください。
GPU アクセラレーションが機能していることを確認するには、グラフィックステータスインジケーターを使用できます。
DirectX、Direct3D、および WPF レンダリング
DirectX、Direct3D、および WPF レンダリングは、ディスプレイドライバーインターフェイス(DDI)バージョン 9ex、10、または 11 をサポートする GPU を搭載したサーバーでのみ利用できます。
-
Windows Server 2016以降では、RDセッションホストサーバー上のリモートデスクトップサービス(RDS)セッションは、Microsoft Basic Render Driverをデフォルトのアダプターとして使用します。Windows Server 2016以降のRDSセッションでGPUを使用するには、グループポリシーのローカルコンピューターポリシー \> コンピューターの構成 \> 管理用テンプレート \> Windowsコンポーネント \> リモートデスクトップサービス \> リモートデスクトップセッションホスト \> リモートセッション環境で、すべてのリモートデスクトップサービスセッションにハードウェアの既定のグラフィックアダプターを使用する設定を有効にします。
-
WPFアプリケーションがサーバーのGPUを使用してレンダリングできるようにするには、WindowsマルチセッションOSセッションを実行しているサーバーのレジストリに設定を作成します。レジストリ設定の詳細については、レジストリを介して管理される機能のリストにある「Windows Presentation Foundation (WPF) レンダリング」を参照してください。
CUDAまたはOpenCLアプリケーションのGPUアクセラレーション
ユーザーセッションで実行されているCUDAおよびOpenCLアプリケーションのGPUアクセラレーションは、デフォルトで無効になっています。
CUDAアクセラレーション機能を使用するには、レジストリ設定を有効にします。詳細については、レジストリを介して管理される機能のリストにある「CUDAまたはOpenCLアプリケーションのGPUアクセラレーション」を参照してください。