共用方式為


您 Azure Stack Edge Pro GPU 裝置上的 GPU 共用

圖形處理單位 (GPU) 是專為加速圖形轉譯而設計的特殊處理器。 GPU 可以同時處理許多資料片段,使其適用於機器學習、影片編輯和遊戲應用程式。 除了一般用途計算的 CPU 之外,您的 Azure Stack Edge Pro GPU 裝置還可以針對大量計算工作負載 (例如硬體加速推斷) 包含一或兩個 Nvidia Tesla T4 GPU。 如需詳細資訊,請參閱 Nvidia 的 Tesla T4 GPU

關於 GPU 共用

許多機器學習或其他計算工作負載可能不需要專用 GPU。 您可以共用 GPU,而且在容器化或 VM 工作負載之間共用 GPU 有助於增加 GPU 使用率,而不會大幅影響 GPU 的效能優勢。

搭配使用 GPU 與 VM

在 Azure Stack Edge Pro 裝置上,部署 VM 工作負載時無法共用 GPU。 GPU 只能對應至一部 VM。 這表示您在具有一個 GPU 的裝置上只能有一個 GPU VM,而在配備兩個 GPU 的裝置上可以有兩部 VM。 在已針對容器化工作負載設定 Kubernetes 的裝置上使用 GPU VM 時,也必須考慮其他因素。 如需詳細資訊,請參閱 GPU VM 和 Kubernetes

搭配使用 GPU 和容器

如果您要部署容器化工作負載,則可以在硬體和軟體層使用多種方式來共用 GPU。 透過 Azure Stack Edge Pro 裝置上的 Tesla T4 GPU,我們只能使用軟體共用。 在您的裝置上,會使用下列兩種方式來進行 GPU 的軟體共用:

  • 第一種方法涉及使用環境變數來指定可共用時間的 GPU 數目。 使用此方法時,請考慮下列注意事項:

    • 您可以使用此方法來指定一或兩個 GPU 或是根本不指定任何 GPU。 無法指定小數使用方式。
    • 多個模組可以對應至一個 GPU,但相同的模組無法對應至多個 GPU。
    • 透過 Nvidia SMI 輸出,您可以看到整體 GPU 使用率,包括記憶體使用率。

    如需詳細資訊,請參閱如何在裝置上部署可使用 GPU 的 IoT Edge 模組

  • 第二種方法需要您在 Nvidia GPU 上啟用多程序服務。 MPS 是一種執行階段服務,可讓使用 CUDA 的多個程序在單一共用 GPU 上同時執行。 MPS 允許重疊 GPU 上不同程序的核心和 memcopy 作業,以達到最大使用率。 如需詳細資訊,請參閱多程序服務

    使用此方法時,請考慮下列注意事項:

    • MPS 可讓您在 GPU 部署中指定更多旗標。
    • 您可以透過 MPS 指定小數使用方式,藉此限制使用裝置上所部署的每個應用程式。 您可以新增下列參數,以指定要用於 deployment.yaml env 區段下每個應用程式的 GPU 百分比:
    // Example: application wants to limit gpu percentage to 20%
    
        env:
            - name: CUDA_MPS_ACTIVE_THREAD_PERCENTAGE
                value: "20"
    

GPU 使用率

當您在裝置上所部署的容器化工作負載上共用 GPU 時,可以使用 Nvidia 系統管理介面 (nvidia-smi)。 Nvidia-smi 是一種命令列公用程式,可協助您管理和監視 Nvidia GPU 裝置。 如需詳細資訊,請參閱 Nvidia 系統管理介面

若要檢視 GPU 使用量,請先連線至裝置的 PowerShell 介面。 執行 Get-HcsNvidiaSmi 命令,並檢視 Nvidia SMI 輸出。 您也可以啟用 MPS,然後在裝置上部署多個工作負載,來檢視 GPU 使用率變更方式。 如需詳細資訊,請參閱啟用多程序服務

下一步