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