多實例 GPU ( MIG )是 NVIDIA H100 , A100 和 A30 張量核 GPU ,因為它可以將 GPU 劃分為多個實例。每個實例都有自己的計算核心、高帶寬內存、二級緩存、 DRAM 帶寬和解碼器等媒體引擎。
這使得多個工作負載或多個用戶能夠在一個 GPU 上同時運行工作負載,以最大化 CPU 利用率,同時保證服務質量( QoS )。單個 A30 可以被劃分為最多四個 MIG 實例,以并行運行四個應用程序。
這篇文章將指導您如何在 A30 上使用 MIG ,從劃分 MIG 實例到同時在 MIG 實例上運行深度學習應用程序。
A30 MIG 剖面圖
默認情況下, A30 上禁用 MIG 模式。在分區 GPU 上運行任何 MIG 工作負載之前,必須啟用 CUDA 模式,然后對 A30 進行分區。要劃分 A30 ,請創建 GPU 實例,然后創建相應的計算實例。
GPU 實例是 GPU 切片和 CPU 引擎( DMA 、 NVDEC 等)的組合。 GPU 切片是 GPU 的最小部分,它組合了單個 CPU 內存切片和單個流式多處理器( SM )切片。
在 GPU 實例中,GPU 內存片和其他 CPU 引擎共享,但 SM 片可以進一步細分為計算實例。 GPU 實例提供內存 QoS 。
您可以將具有 24 GB 內存的 A30 配置為:
一個 GPU 實例,具有 24 GB 內存
兩個 GPU 實例,每個實例具有 12 GB 內存
三個 GPU 實例,一個具有 12GB 內存,兩個具有 6GB 內存
四個 GPU 實例,每個實例具有 6 GB 內存
根據 GPU 實例的大小,可以將 GPU 實例進一步劃分為一個或多個計算實例。計算實例包含父 GPU 實例的 SM 切片的子集。 GPU 實例中的計算實例共享內存和其他媒體引擎。但是,每個計算實例都有專用的 SM 切片。
例如,您可以將 A30 分成四個 GPU 實例,每個實例有一個計算實例,或者將 A30 分為兩個 GPU 示例,每個實例都有兩個計算實例。雖然這兩個分區導致四個計算實例可以同時運行四個應用程序,但不同之處在于,內存和其他引擎在 GPU 實例級別隔離,而不是在計算實例級別隔離。因此,如果有多個用戶共享 A30 ,最好為不同的用戶創建不同的 GPU 實例以保證 QoS 。
表 1 概述了 A30 上支持的 GPU 配置文件,包括顯示 MIG 實例數量和每個 CPU 實例中 GPU 切片數量的五種可能 MIG 配置。它還顯示了硬件解碼器如何在 GPU 實例之間劃分。
表 1.A30 支持的 MIG 配置文件
GPC (圖形處理集群)或切片表示 SMs 、緩存和內存的分組。 GPC 直接映射到 GPU 實例。 OFA (光流加速器)是基于 A100 和 A30 的 GA100 架構上的引擎。對等( P2P )已禁用。
表 2 提供了 A30 上受支持的 MIG 實例的配置文件名,以及內存、 SMs 和二級緩存如何在 MIG 配置文件之間劃分。 MIG 的配置文件名可以解釋為其 GPU 實例的 SM 切片計數及其總內存大?。?GB )。例如:
MIG 2g 。 12gb 意味著這個 MIG 實例有兩個 SM 片和 12gb 內存
MIG 4g 。 24gb 意味著這個 MIG 實例有四個 SM 片和 24gb 內存
通過查看 2g 中 2 或 4 的 SM 切片計數。 12gb 或 4g 。 24gb ,您知道可以將 GPU 實例劃分為兩個或四個計算實例。
MIG 1g 。 6gb + me : me 是指在創建 1g 時訪問視頻和 JPEG 解碼器的媒體擴展。 6gb 配置文件。
MIG 實例可以動態創建和銷毀?。 創建和銷毀不會影響其他實例,因此它為您提供了銷毀未使用的實例并創建不同配置的靈活性。
管理 MIG 實例
使用mig-parted分區編輯器( MIG )自動創建 GPU 實例和計算實例 工具 或者按照中的nvidia-smi mig命令執行 開始使用 MIG 。
強烈建議使用mig-parted工具,因為它使您能夠輕松更改和應用 MIG 分區的配置,而無需發出一系列nvidia-smi mig命令。在使用該工具之前,您必須按照 說明 安裝 mig-parted 工具或從標記的 版本 中獲取預構建的二進制文件。
下面是如何使用該工具將 A30 劃分為 1g 的四個 MIG 實例。 6gb 配置文件。首先,創建一個示例配置文件,然后可以與該工具一起使用。這個示例文件不僅包括前面討論的分區,還包括一個自定義配置custom-config,將 GPU 0 劃分為四個 1g 。 6gb 實例和 GPU 1 到兩個 2g 。 12gb 實例。
$ cat << EOF > a30-example-configs.yaml version: v1 mig-configs: all-disabled: - devices: all mig-enabled: false all-enabled: - devices: all mig-enabled: true mig-devices: {} all-1g.6gb: - devices: all mig-enabled: true mig-devices: "1g.6gb": 4 all-2g.12gb: - devices: all mig-enabled: true mig-devices: "2g.12gb": 2 all-balanced: - devices: all mig-enabled: true mig-devices: "1g.6gb": 2 "2g.12gb": 1 custom-config: - devices: [0] mig-enabled: true mig-devices: "1g.6gb": 4 - devices: [1] mig-enabled: true mig-devices: "2g.12gb": 2 EOF
接下來,應用all-1g.6gb配置將 A30 劃分為四個 MIG 實例。如果 MIG 模式尚未啟用,則mig-parted啟用GPU 模式,然后創建分區:
通過指定 MIG 幾何圖形,然后使用mig-parted適當配置 GPU ,您可以輕松選擇其他配置或創建自己的自定義配置。
創建 MIG 實例后,現在您可以運行一些工作負載了!
深度學習用例
您可以在 MIG 實例上同時運行多個深度學習應用程序。圖 1 顯示了四個 MIG 實例(四個 GPU 實例,每個實例都有一個計算實例),每個實例運行一個深度學習推理模型,以最大限度地利用單個 A30 同時執行四個不同的任務。
例如,您可以 ResNet50 (圖像分類)在實例 1 上, EfficientDet (對象檢測)在實例二上, BERT (語言模型)在實例三上,以及 FastPitch (語音合成)實例四。該示例還可以表示四個不同的用戶在確保 QoS 的情況下同時共享 A30 。
性能分析
為了分析在啟用和不啟用 MIG 的情況下 A30 的性能改進,我們對 BERT PyTorch 模型 SQuAD (問答)在 A30 (帶和不帶 MIG )和 T4 上的三種不同場景中。
A30 四個 MIG 實例,每個實例有一個模型,總共四個模型同時微調
A30 MIG 模式被禁用,四個模型在四個容器中同時微調
A30 MIG 模式被禁用,四種型號串聯微調
T4 有四個串聯微調模型
要運行此示例,請使用 NVIDIA /深度學習示例 github 回購。
根據表 3 中的實驗結果,具有四個 MIG 實例的 A30 顯示了總共四個模型的最高吞吐量和最短微調時間。
使用 MIG 的 A30 總微調時間的加速:
1.39 倍,與 A30 相比,四種型號同時使用 MIG
1.27 倍,與 A30 相比,在四個串聯型號上無 MIG
3.18 倍于 T4
A30 米格的吞吐量
1.39 倍,與 A30 相比,四種型號同時使用 MIG
1.27 倍,與 A30 相比,在四個串聯型號上無 MIG
3.18 倍于 T4
在沒有 MIG 的情況下,同時對具有四個模型的 A30 進行微調也可以實現高 GPU 利用率,但不同之處在于,沒有 MIG 提供的硬件隔離。與使用 MIG 相比,它會產生上下文切換的開銷,并導致性能降低。
下一步是什么?
A30 MIG 模式基于最新的 NVIDIA Ampere 架構,可加速各種工作負載,如大規模人工智能推理,使您能夠充分利用單個 GPU ,同時以服務質量為多個用戶提供服務。
關于作者
Maggie Zhang 是 NVIDIA 的深度學習工程師,致力于深度學習框架和應用程序。她在澳大利亞新南威爾士大學獲得計算機科學和工程博士學位,在那里她從事 GPU / CPU 異構計算和編譯器優化。
Davide Onofrio 是 NVIDIA 的高級深度學習軟件技術營銷工程師。他在 NVIDIA 專注于深度學習技術開發人員關注內容的開發和演示。戴維德在生物特征識別、虛擬現實和汽車行業擔任計算機視覺和機器學習工程師已有多年經驗。他的教育背景包括米蘭理工學院的信號處理博士學位。Ivan Belyavtsev 是一名圖形開發工程師,主要致力于開發人員支持和優化基于虛擬引擎的游戲。他還是 Innopolis 大學游戲開發領域的計算機圖形學導師。
Pramod Ramarao 是 NVIDIA 加速計算的產品經理。他領導 CUDA 平臺和數據中心軟件的產品管理,包括容器技術。
Joe DeLaere 是負責數據中心加速計算的高級產品營銷經理,專注于 GPU 和 AI 用例。此前,他曾在 Altera / Intel 和 Xilinx / AMD 擔任產品管理和營銷職務,專注于基于 FPGA 的數據中心加速解決方案。喬擁有圣何塞州立大學電氣工程學士學位。
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
5010瀏覽量
103238 -
gpu
+關注
關注
28文章
4752瀏覽量
129041 -
CUDA
+關注
關注
0文章
121瀏覽量
13642
發布評論請先 登錄
相關推薦
評論