WindowsマルチセッションOSのGPUアクセラレーション
HDX™ 3D Proを使用すると、WindowsマルチセッションOSセッションで実行されているグラフィックを多用するアプリケーションを、サーバーのグラフィック処理ユニット(GPU)でレンダリングできます。OpenGL、DirectX、Direct3D、およびWindows Presentation Foundation(WPF)のレンダリングをサーバーのGPUに移行することで、グラフィックレンダリングがサーバーのCPUを遅くすることはありません。また、ワークロードがCPUとGPUの間で分割されるため、サーバーはより多くのグラフィックを処理できます。
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 共有は、特定のグラフィックカードに依存しません。
-
仮想マシンの場合、使用しているハイパーバイザーと互換性のあるグラフィックカードを選択してください。Citrix Hypervisorのハードウェア互換性リストについては、「Hypervisor Hardware Compatibility List」を参照してください。
-
ベアメタルで実行する場合、オペレーティングシステムによって単一のディスプレイアダプターが有効になっていることを推奨します。複数の GPU がハードウェアにインストールされている場合は、デバイスマネージャーを使用して、1 つを除くすべてを無効にしてください。
GPU Sharing を使用したスケーラビリティは、いくつかの要因によって異なります。
-
実行されているアプリケーション
-
消費するビデオ RAM の量
-
グラフィックカードの処理能力
一部のアプリケーションは、他のアプリケーションよりもビデオ RAM の不足をうまく処理します。ハードウェアが過負荷になると、グラフィックカードドライバーの不安定化やクラッシュが発生する可能性があります。このような問題を回避するには、同時ユーザー数を制限してください。
GPUアクセラレーションが機能していることを確認するには、GPU-Zなどのサードパーティツールを使用します。GPU-Zは
<http://www.techpowerup.com/gpuz/>で入手できます。
-
NVIDIA GPUおよびIntel Iris Proグラフィックプロセッサ用の高性能ビデオエンコーダーへのアクセス。ポリシー設定(デフォルトで有効)がこの機能を制御し、H.264エンコーディング(利用可能な場合)にハードウェアエンコーディングの使用を許可します。このようなハードウェアが利用できない場合、VDAはソフトウェアビデオコーデックを使用したCPUベースのエンコーディングにフォールバックします。詳しくは、「グラフィックポリシー設定」を参照してください。
DirectX、Direct3D、および WPF レンダリング
DirectX、Direct3D、および WPF レンダリングは、ディスプレイドライバーインターフェイス(DDI)バージョン 9ex、10、または 11 をサポートする GPU を搭載したサーバーでのみ利用できます。
-
Windows Server 2008 R2では、DirectXおよびDirect3Dで単一のGPUを使用するために特別な設定は必要ありません。
-
Windows Server 2012以降では、RDセッションホストサーバー上のRemote Desktop Services(RDS)セッションは、Microsoft Basic Render Driverをデフォルトのアダプターとして使用します。Windows Server 2012以降のRDSセッションでGPUを使用するには、グループポリシーのローカルコンピューターポリシー \> コンピューターの構成 \> 管理用テンプレート \> Windowsコンポーネント \> Remote Desktop Services \> リモートデスクトップセッションホスト \> リモートセッション環境で、すべてのRemote Desktop Servicesセッションにハードウェアのデフォルトグラフィックアダプターを使用する設定を有効にします。
-
WPF アプリケーションがサーバーの GPU を使用してレンダリングできるようにするには、Windows マルチセッション OS セッションを実行しているサーバーのレジストリに設定を作成します。レジストリ設定の詳細については、レジストリで管理される機能のリストにある「Windows Presentation Foundation (WPF) レンダリング」を参照してください。
CUDAまたはOpenCLアプリケーションのGPUアクセラレーション
ユーザーセッションで実行されているCUDAおよびOpenCLアプリケーションのGPUアクセラレーションは、デフォルトで無効になっています。
CUDAアクセラレーションPOC機能を使用するには、レジストリ設定を有効にします。詳細については、レジストリで管理される機能のリストにある「CUDAまたはOpenCLアプリケーションのGPUアクセラレーション」を参照してください。