0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

GPU虛擬化技術(shù)MIG簡介和安裝使用教程

冬至子 ? 來源:思否AI ? 作者:思否AI ? 2023-10-11 14:42 ? 次閱讀

使用多實例GPU (MIG/Multi-Instance GPU)可以將強大的顯卡分成更小的部分,每個部分都有自己的工作,這樣單張顯卡可以同時運行不同的任務。本文將對其進行簡單介紹并且提供安裝和使用的示例。

什么是MIG

NVIDIA Multi-Instance GPU (MIG) 技術(shù)是 NVIDIA 推出的一種 GPU 虛擬化技術(shù),允許一塊物理 GPU 被分割成多個獨立的 GPU 實例,每個實例可以被分配給不同的虛擬機、容器或用戶。這種技術(shù)有助于更有效地利用 GPU 資源,提高 GPU 的共享性和多租戶支持。

MIG 技術(shù)通常需要硬件和軟件支持,包括支持 MIG 的 NVIDIA GPU 和相應的驅(qū)動程序。這使得 MIG 技術(shù)成為數(shù)據(jù)中心云計算環(huán)境中更好地管理 GPU 資源的有力工具。它有助于提高 GPU 利用率,降低成本,并更好地滿足不同應用程序和用戶的需求。

MIG是如何工作的

MIG通過虛擬地將單個物理GPU劃分為更小的獨立實例,這項技術(shù)涉及GPU虛擬化,GPU的資源,包括CUDA內(nèi)核和內(nèi)存,被分配到不同的實例。這些實例彼此隔離,確保在一個實例上運行的任務不會干擾其他實例。

MIG支持GPU資源的動態(tài)分配,允許根據(jù)工作負載需求動態(tài)調(diào)整實例的大小。這種動態(tài)分配有助于有效地利用資源。多個應用程序或用戶可以在同一個GPU上并發(fā)運行,每個GPU都有自己的專用實例。整個過程通過軟件進行管理,為管理員提供了對實例配置和資源分配的控制。這種方法增強了在單個GPU上處理不同工作負載的靈活性、可擴展性和資源效率。

MIG 技術(shù)關鍵特點

  1. 資源劃分 :MIG 允許將一塊物理 GPU 分割成多個 GPU 實例,每個實例具有自己的 GPU 核心、GPU 內(nèi)存、NVLink 帶寬等資源。這樣可以更好地控制和劃分 GPU 資源。
  2. 多租戶支持 :MIG 技術(shù)可以用于虛擬化 GPU,以便不同用戶或應用程序可以共享同一塊物理 GPU 而不會相互干擾。
  3. 動態(tài)資源調(diào)整 :管理員可以根據(jù)工作負載的需求動態(tài)地重新配置 MIG 實例的資源,從而實現(xiàn)更好的資源利用和性能。
  4. 容錯性 :MIG 技術(shù)支持 GPU 實例的隔離,這意味著一個 GPU 實例中的問題不會影響到其他實例,從而提高了系統(tǒng)的容錯性。
  5. 部署靈活性 :MIG 技術(shù)可以用于云計算、虛擬化環(huán)境、容器化應用程序等多種情境,為不同的部署需求提供了靈活性。

MIG的條件

并不是所有的顯卡都支持MIG,以下是官方給出的GPU型號:

可以看到,基本上就是A100和H100可以使用,雖然都是24G顯存,但是消費級的4090是不支持的。

然后就是驅(qū)動

達到這些要求以后就可以使用了

MIG配置和使用

安裝Nvidia SMI(這里使用ubuntu系統(tǒng)作為示例)很簡單,只要安裝好nvidia提供的工具包即可

sudo apt-get install nvidia-utils

下一步就是驗證Nvidia驅(qū)動程序。

nvidia-smi

沒問題的話就說明安裝完成了。下面就是配置的命令:

sudo nvidia-smi -i < GPU_ID > --mig on

nvidia-smi結(jié)果中包含了GPU ID。

驗證MIG配置(需要GPU ID和實例ID進行下一步工作)

nvidia-smi mig -lgip

驗證成功后就說明我們的MIG已經(jīng)正常可用,下面可以開始創(chuàng)建虛擬GPU

我們將單個GPU(硬件)劃分為多個獨立的GPU實例,以手動分擔工作負載并降低工作平衡的成本。

sudo nvidia-smi -i < GPU_ID > --mig < INSTANCE_COUNT >

-i :指定要使用的GPU設備。將替換為需要配置的GPU的實際ID。

-mig :用于配置mig (Multi-Instance GPU)。將替換為希望在指定GPU上創(chuàng)建的所需GPU實例數(shù)。每個實例都有自己的一組資源,包括內(nèi)存和計算能力。

比如我們下面的示例:在GPU ID=0上創(chuàng)建3個實例

sudo nvidia-smi -i 0 --mig 3

更改實例的資源分配(工作負載),主要目標是為特定的MIG實例調(diào)整資源分配

sudo nvidia-smi -i < GPU_ID > -gi < INSTANCE_ID > -rg < WORKLOAD_PERCENT >

-i :指定執(zhí)行該操作的GPU。例如,-i 0表示第一個GPU。

-gi :在指定GPU內(nèi)執(zhí)行操作的MIG實例。例如,-gi 1表示GPU上的第二個MIG實例。

-rg :分配給指定MIG實例的GPU資源的百分比。將替換為所需的百分比。例如-rg 70表示將70%的GPU資源分配給指定的MIG實例。

在GPU_ID = 0和MIG Instance=1上設置占GPU總資源70%的工作負載

sudo nvidia-smi -i 0 -gi 1 -rg 70

Docker和MIG

大部分情況我們都會使用Docker來作為運行環(huán)境,所以這里我們再介紹一下Docker和MIG的配置。

安裝NVIDIA Container Toolkit,這是我們再Docker中使用GPU的第一步,這里就不詳細介紹了,我們直接使用命令安裝。

sudo apt-get install -y nvidia-container-toolkit

配置Docker守護進程以使用NVIDIA:編輯Docker守護進程配置文件/etc/docker/daemon.json),添加如下行:

{
   "default-runtime": "nvidia",
   "runtimes": {
     "nvidia": {
       "path": "/usr/bin/nvidia-container-runtime",
       "runtimeArgs": []
     }
   }
 }

以上代碼只是示例,請跟你的實際情況修改,本文不主要介紹如何再Docker中使用GPU,所以只作為簡單示例。

配置完需要重啟

sudo systemctl restart docker

驗證GPU可用性,以獲取GPU信息

docker run --gpus all nvidia/cuda:11.0-base nvidia-smi

下面開始我們的主要工作,配置MIG

docker run --gpus device=0,1,2,3 -e NVIDIA_VISIBLE_DEVICES=0,1,2,3 my_container

可以根據(jù)想要使用的MIG設備數(shù)量來調(diào)整——gpu和NVIDIA_VISIBLE_DEVICES參數(shù)。這里的gpus是我們通過上面命令虛擬的GPU

總結(jié)

MIG能夠?qū)蝹€GPU劃分為更小的實例,MIG為同時處理各種工作負載提供了經(jīng)濟高效且可擴展的解決方案。MIG的底層功能,包括資源隔離和動態(tài)分配,增強了GPU使用的靈活性、可擴展性和整體效率。

跨越數(shù)據(jù)中心、科學研究和人工智能開發(fā)的實際應用凸顯了MIG在優(yōu)化GPU資源和加速計算任務方面的影響。MIG是一個很好的技術(shù),但是就目前顯卡的價格來說對他的普及還是有很大的阻礙。不支持消費級的顯卡,一張A100大概10萬+,4張4090 6萬多,我想沒人會把一張A100分成4份用吧。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    112

    文章

    15885

    瀏覽量

    175358
  • NVIDIA技術(shù)

    關注

    0

    文章

    17

    瀏覽量

    6246
  • 虛擬機
    +關注

    關注

    1

    文章

    888

    瀏覽量

    27811
  • MIG
    MIG
    +關注

    關注

    0

    文章

    12

    瀏覽量

    10954
  • GPU芯片
    +關注

    關注

    1

    文章

    303

    瀏覽量

    5747
收藏 人收藏

    評論

    相關推薦

    198.云方案5:GPU虛擬,如何通過盒子遠程玩游戲(上)

    gpu虛擬
    小凡
    發(fā)布于 :2022年10月04日 12:27:00

    技術(shù)系列】淺談GPU虛擬技術(shù)(第一章)

    摘要: GPU深度好文系列,阿里云技術(shù)專家分享第一章GPU虛擬發(fā)展史GPU
    發(fā)表于 04-16 10:51

    GPU虛擬在哪里發(fā)生?

    GPU虛擬在哪里發(fā)生?它是否出現(xiàn)在GRID卡中,然后將vGPU呈現(xiàn)給管理程序然后呈現(xiàn)給客戶?或者,GPU虛擬
    發(fā)表于 09-28 16:45

    可以使用適用于云計算中HPC的GPU虛擬

    是否可以使用NVidia虛擬在云計算中使用GPU虛擬創(chuàng)建VM群集?怎么能實現(xiàn)呢?以上來自于谷歌翻譯以下為原文Is it possible
    發(fā)表于 09-30 10:47

    Linux上的虛擬技術(shù)歷史回顧

    虛擬技術(shù)的應用十分廣泛. 當前虛擬技術(shù)主要關注于服務器的
    發(fā)表于 07-22 07:18

    LucidLogix推出新一代GPU虛擬軟件

    LucidLogix日前推出新一代Virtu Universal GPU虛擬軟件,適用于使用Intel或AMD集成圖像處理器(GPU)的筆記本電腦、All-in-One和臺式計算機
    發(fā)表于 06-27 08:37 ?895次閱讀

    虛擬環(huán)境下多GPU并行計算研究

    虛擬環(huán)境下多GPU并行計算研究_閔芳
    發(fā)表于 01-03 15:24 ?0次下載

    基于虛擬的多GPU深度神經(jīng)網(wǎng)絡訓練框架

    針對深度神經(jīng)網(wǎng)絡在分布式多機多GPU上的加速訓練問題,提出一種基于虛擬的遠程多GPU調(diào)用的實現(xiàn)方法。利用遠程GPU調(diào)用部署的分布式
    發(fā)表于 03-29 16:45 ?0次下載
    基于<b class='flag-5'>虛擬</b><b class='flag-5'>化</b>的多<b class='flag-5'>GPU</b>深度神經(jīng)網(wǎng)絡訓練框架

    NVIDIA虛擬GPU技術(shù):用戶將享受來自“云端”的極致體驗

    NVIDIA虛擬GPU業(yè)務副總裁John Fanelli近期接受采訪時介紹NVIDIA的虛擬GPU技術(shù)
    的頭像 發(fā)表于 07-09 15:44 ?2776次閱讀

    兩大硬件虛擬,GPU虛擬和FPGA虛擬方法

    GPU是計算機的一個重要組成部分,但GPU這類重要資源虛擬的性能、擴展性和可用性相對于CPU等處于滯后的階段。
    發(fā)表于 12-06 15:07 ?3389次閱讀

    服務器虛擬技術(shù)到底是什么

    是PowerKVM;以及AIX虛擬PowerVM,支持vSCSI和NPIV兩種技術(shù)虛擬出系統(tǒng)叫VIOS)。今天的內(nèi)容覆蓋了CPU虛擬
    發(fā)表于 06-10 08:00 ?0次下載
    服務器<b class='flag-5'>虛擬</b><b class='flag-5'>化</b><b class='flag-5'>技術(shù)</b>到底是什么

    5種GPU虛擬技術(shù)的詳細資料講解

    GPU,也即圖形處理單元。不論在手機中,還是在電腦、筆記本上,GPU都發(fā)揮著不可替代的作用。往期文章中,小編對GPU加速原理、GPU服務器選擇、GP
    的頭像 發(fā)表于 02-08 17:48 ?9643次閱讀

    服務器虛擬技術(shù)是什么,常見虛擬架構(gòu)有哪些

    金屬虛擬架構(gòu)、操作系統(tǒng)虛擬架構(gòu)、混合虛擬架構(gòu)和寄居虛擬
    的頭像 發(fā)表于 09-01 16:51 ?7597次閱讀

    NVIDIA虛擬GPU技術(shù)推動快速無痛的牙科治療

    NVIDIA虛擬GPU技術(shù)推動快速無痛的牙科治療
    的頭像 發(fā)表于 08-01 14:46 ?436次閱讀

    什么是虛擬GPU?虛擬GPU的優(yōu)勢有哪些?

    虛擬 GPU,也稱為 vGPU,是通過將數(shù)據(jù)中心 GPU 進行虛擬,用戶可在多個虛擬機中共享該
    的頭像 發(fā)表于 11-10 09:48 ?1569次閱讀
    什么是<b class='flag-5'>虛擬</b><b class='flag-5'>GPU</b>?<b class='flag-5'>虛擬</b><b class='flag-5'>GPU</b>的優(yōu)勢有哪些?