設定 Azure 虛擬桌面的圖形處理器 (GPU) 加速

重要

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

Azure 虛擬桌面支援採用 GPU 加速的轉譯和編碼功能,可藉此改善應用程式效能和擴充性。 GPU 加速對於需要大量圖形作業的應用程式特別重要,而且在下列作業系統中受到支援:

  • Windows 10 1511 版或更新版本
  • Windows Server 2016 或更新版本

注意

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

請遵循本文中的指示來建立 GPU 最佳化的 Azure 虛擬機器,並將其新增至您的主機集區,然後將其設定為使用 GPU 加速進行轉譯和編碼。 本文假設您已經建立主機集區應用程式群組

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

選取 Azure NV 系列NVv3 系列NVv4 系列NCasT4_v3 系列 VM 大小其中一項,作為工作階段主機。 這些是針對應用程式和桌面虛擬化量身打造的,可讓大部分應用程式和 Windows 使用者介面加速 GPU。 主機集區的正確選擇取決於數個因素,包括您的特定應用程式工作負載、所需的使用者體驗品質和成本。 一般而言,較大型且更強大的 GPU 在指定使用者密度上提供更佳的使用者體驗,而較小型且受限的 GPU 大小則允許更精細地控制成本和品質。 選取 VM 時,請考慮 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 驅動程式不支援。 如果您選擇手動安裝驅動程式,請務必安裝 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 加速的畫面編碼

遠端桌面會針對應用程式和桌上型電腦所轉譯的所有圖形進行編碼 (無論以 GPU 或 CPU 轉譯),以傳輸到遠端桌面用戶端。 當螢幕的一部分經常更新時,此部分的畫面會以視訊轉碼器 (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. 若要判斷是否使用 GPU 加速編碼,請尋找事件識別碼 170。 如果您看到「已啟用 AVC 硬體編碼器:1」,則表示已使用 GPU 編碼。

確認全螢幕視訊編碼

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

  1. 使用 Azure 虛擬桌面用戶端連線到 VM 桌面。
  2. 啟動事件檢視器並瀏覽至下列節點:[應用程式和服務記錄檔]>[Microsoft]>[Windows]>[RemoteDesktopServices-RdpCoreCDV][Operational]>
  3. 若要判斷是否使用全螢幕視訊編碼,請尋找事件識別碼 162。 如果您看到「AVC 可供使用:1 個初始設定檔:2048」,則表示使用 AVC 444。

後續步驟

這些指示應該可讓您能夠在一個工作階段主機 (一個 VM) 上啟動並執行 GPU 加速。 在較大的主機集區上啟用 GPU 加速有一些額外考量: