設定 Azure 虛擬桌面的 GPU 加速

重要

本內容適用於具有 Azure Resource Manager 物件的 Azure 虛擬桌面。 如果您使用不含 Azure Resource Manager 物件的 Azure 虛擬桌面 (傳統),請參閱此文章

Azure 虛擬桌面支援圖形處理器 (GPU) 加速的轉譯和編碼,可藉此改善應用程式效能和擴充性。 GPU 加速對於需要大量圖形作業的應用程式很重要,而且可以與所有 Azure 虛擬桌面支援的作業系統搭配使用。

此清單不會特別包含 Windows 的多重工作階段版本。 不過,NV 系列 Azure 虛擬機器 (VM) 中的每個 GPU 都會隨附一個 GRID 授權,支援 25 個並行使用者。 如需詳細資訊,請參閱 NV 系列

本文說明如何建立 GPU 最佳化的 Azure 虛擬機器,將其新增至您的主機集區,然後設定為使用 GPU 加速進行轉譯和編碼。

必要條件

本文假設您已經建立主機集區和應用程式群組。

選取適當的 GPU 最佳化 Azure 虛擬機器大小

選取 Azure NV 系列NVv3 系列NVv4 系列NVadsA10 v5 系列NCasT4_v3 系列 VM 大小的其中一項,做為工作階段主機。 這些大小針對應用程式和桌面虛擬化量身打造而成。 可讓大部分的應用程式和 Windows 使用者介面具備 GPU 加速功能。

適合您主機集區的正確選擇取決於多個因素,包括特定應用程式的工作負載、所需的使用者體驗品質和成本。 一般而言,較大且能力較強的 GPU 可在指定的使用者密度上提供更好的使用者體驗。 較小型且受限的 GPU 大小則允許更精細地控制成本和品質。

注意

NV 系列 VM 已計劃進行淘汰。 如需詳細資訊,請參閱 NV 淘汰

Azure NC、NCv2、NCv3、ND 和 NDv2 系列 VM 通常不適用於 Azure 虛擬桌面工作階段主機。 這些 VM 專為特製化、高效能的計算或機器學習工具量身打造,例如使用 NVIDIA CUDA 所建置的 VM。 不支援大部分應用程式或 Windows 使用者介面的 GPU 加速。

在您的虛擬機器中安裝支援的圖形驅動程式

若要在 Azure 虛擬桌面中使用 Azure N 系列 VM 的 GPU 功能,您必須安裝適當的圖形驅動程式。 請遵循支援的作業系統和驅動程式中的指示以安裝驅動程式。 僅支援 Azure 分散式驅動程式。

請記住以下大小特定的資訊:

  • 針對 Azure NV 系列、NVv3 系列或 NCasT4_v3 系列 VM,只有 NVIDIA GRID 驅動程式支援大部分應用程式和 Windows 使用者介面的 GPU 加速。 NVIDIA CUDA 驅動程式不支援這些 VM 大小的 GPU 加速。

    如果您選擇手動安裝驅動程式,請務必安裝 GRID 驅動程式。 如果您選擇使用 Azure VM 擴充功能安裝驅動程式,則系統會為這些 VM 大小自動安裝 GRID 驅動程式。

  • 針對 Azure NVv4 系列 VM,請安裝 Azure 提供的 AMD 驅動程式。 您可以使用 Azure VM 擴充功能自動安裝,或是手動安裝。

安裝驅動程式之後,必須重新啟動 VM。 使用先前指示的確認步驟,確認已成功安裝圖形驅動程式。

設定 GPU 加速的應用程式轉譯

根據預設,在 Windows Server 上執行的應用程式和桌面使用 CPU 進行轉譯,而不使用可用的 GPU 進行轉譯。 您可以設定工作階段主機的群組原則來啟用 GPU 加速的轉譯:

  1. 使用具有本機系統管理員權限的帳戶連線至 VM 桌面。
  2. 開啟 [開始] 功能表,然後輸入 gpedit.msc,開啟 [群組原則編輯器]。
  3. 移至 [電腦設定]> [系統管理範本]> [Windows 元件]> [遠端桌面服務]> [遠端桌面工作階段主機]> [遠端工作階段環境]
  4. 選取 [針對所有遠端桌面服務工作階段使用硬體圖形卡] 原則。 將此原則設定為 [啟用],以在遠端工作階段中啟用 GPU 轉譯。

設定 GPU 加速的畫面編碼

遠端桌面會將應用程式和桌面轉譯的所有圖形編碼,傳輸至遠端桌面用戶端。 當螢幕的一部分經常更新時,此部分的畫面會以視訊轉碼器 (H.264/AVC) 編碼。 根據預設,遠端桌面不會使用可用的 GPU 進行此作業的編碼。

您可以設定工作階段主機的群組原則來啟用 GPU 加速的畫面編碼。 下列程序繼續進行先前的步驟。

注意

NVv4 系列 VM 中無法使用 GPU 加速畫面編碼。

  1. 選取 [針對遠端桌面連線設定 H.264/AVC 硬體編碼的優先權] 原則。 將此原則設定為 [啟用],以在遠端工作階段中啟用 AVC/H.264 的硬體編碼。

    如果您使用 Windows Server 2016,請將 [優先使用 AVC 硬體編碼] 設定為 [一律嘗試]

  2. 現在您已編輯原則,請強制更新群組原則。 以系統管理員身分開啟命令提示字元,然後執行下列命令:

    gpupdate.exe /force
    
  3. 登出遠端桌面工作階段。

設定全螢幕視訊編碼

注意

即使沒有 GPU 存在,您也可以啟用全螢幕視訊編碼。

如果您經常使用會產生高畫面播放速率內容的應用程式,您可以選擇啟用遠端工作階段的全螢幕視訊編碼。 這類應用程式可能包含 3D 模型化、CAD/CAM 和影片應用程式。

全螢幕視訊設定檔為這類應用程式提供較高的畫面播放速率和更好的使用者體驗,但是會耗用網路頻寬以及工作階段主機與用戶端兩處的資源。 建議將 GPU 加速的畫面編碼用於全螢幕視訊編碼。

設定工作階段主機的群組原則以啟用全螢幕視訊編碼。 繼續進行先前的步驟:

  1. 選取 [針對遠端桌面連線設定 H.264/AVC 444 圖形模式的優先權] 原則。 將此原則設定為 [啟用],以在遠端工作階段中強制執行 H.264/AVC 444 轉碼器。

  2. 現在您已編輯原則,請強制更新群組原則。 以系統管理員身分開啟命令提示字元,然後執行下列命令:

    gpupdate.exe /force
    
  3. 登出遠端桌面工作階段。

驗證 GPU 加速的應用程式轉譯

若要確認應用程式是否使用 GPU 進行轉譯,請嘗試下列方法之一:

  • 針對具有 NVIDIA GPU 的 Azure VM,使用 nvidia-smi 公用程式在執行應用程式時檢查 GPU 使用率。 如需詳細資訊,請參閱確認驅動程式安裝
  • 在支援的作業系統版本上,您可以使用工作管理員檢查 GPU 使用率。 在 [效能] 索引標籤中選取 GPU,即可查看應用程式是否正在利用 GPU。

驗證 GPU 加速的畫面編碼

若要驗證遠端桌面是否正在使用 GPU 加速編碼:

  1. 使用 Azure 虛擬桌面用戶端連線至 VM 桌面。
  2. 開啟事件檢視器,移至下列節點:[應用程式及服務記錄檔]> [Microsoft]> [Windows]> [RemoteDesktopServices-RdpCoreCDV]> [Operational]
  3. 尋找事件識別碼 170。 如果您看到 [已啟用 AVC 硬體編碼器: 1],則遠端桌面正在使用 GPU 加速編碼。

提示

如果您連線至 Azure 虛擬桌面外部的工作階段主機進行 GPU 加速測試,則記錄會改儲存在事件檢視器的 [應用程式及服務記錄檔]> [Microsoft]> [Windows]> [RemoteDesktopServices-RdpCoreTs]> [Operational]

確認全螢幕視訊編碼

若要確認遠端桌面是否正在使用全螢幕視訊編碼:

  1. 使用 Azure 虛擬桌面用戶端連線至 VM 桌面。
  2. 開啟事件檢視器,移至下列節點:[應用程式及服務記錄檔]> [Microsoft]> [Windows]> [RemoteDesktopServices-RdpCoreCDV]> [Operational]
  3. 尋找事件識別碼 162。 如果您看到 [AVC 可供使用: 1 個初始設定檔: 2048],則遠端桌面正在使用全螢幕視訊編碼 (AVC 444)。

提示

如果您連線至 Azure 虛擬桌面外部的工作階段主機進行 GPU 加速測試,則記錄會改儲存在事件檢視器的 [應用程式及服務記錄檔]> [Microsoft]> [Windows]> [RemoteDesktopServices-RdpCoreTs]> [Operational]

下一步

這些指示應該可讓您在一個工作階段主機 (一個 VM) 上使用 GPU 加速。 以下是在較大型主機集區上啟用 GPU 加速的額外考量: