Citrix Virtual Apps and Desktops

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共有を使用したスケーラビリティは、いくつかの要因に依存します。

  • 実行されているアプリケーション
  • それらが消費するビデオ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セッションホストサーバー上のRemote Desktop Services(RDS)セッションは、Microsoft Basic Render Driverをデフォルトのアダプターとして使用します。Windows Server 2016以降のRDSセッションでGPUを使用するには、グループポリシーのローカルコンピューターポリシー > コンピューターの構成 > 管理用テンプレート > Windowsコンポーネント > Remote Desktop Services > リモートデスクトップセッションホスト > リモートセッション環境で、すべてのRemote Desktop Servicesセッションにハードウェアのデフォルトグラフィックアダプターを使用する設定を有効にします。
  • WPFアプリケーションがサーバーのGPUを使用してレンダリングできるようにするには、WindowsマルチセッションOSセッションを実行しているサーバーのレジストリに設定を作成します。レジストリ設定の詳細については、レジストリで管理される機能のリストにある「Windows Presentation Foundation (WPF) レンダリング」を参照してください。

CUDAまたはOpenCLアプリケーションのGPUアクセラレーション

ユーザーセッションで実行されるCUDAおよびOpenCLアプリケーションのGPUアクセラレーションは、デフォルトで無効になっています。

CUDAアクセラレーション機能を使用するには、レジストリ設定を有効にします。詳細については、レジストリで管理される機能のリストにある「CUDAまたはOpenCLアプリケーションのGPUアクセラレーション」を参照してください。

GPUアクセラレーション