前言

Multi-Instance GPU (MIG) 是安培世代中新出的操作模式,允許使用者能安全的對 GPU 切分多個 GPU 實例出來。
而 MIG-PARTED 是能讓管理者方便管理 MIG 的工具,透過 yaml 格式定義多組 MIG 組態,在運行系統時,指定組態即可快速的啟用配置,另外也可透過同一份 yaml 去佈署在所有的節點上。


介紹

設定檔以 yaml 格式撰寫,以下就直接透過範例說明

以此為例,我總共定義了兩個組態 all-1g.10gbcustom-config
all-1g.10gb 情境為除了PCIE-ID 0x20B210DE 的 GPU 不要設定之外,要在每個 GPU 上都切出 7 個 1g.10gb

custom-config 情境為
GPU編號0跟1要切出3個2g.20gb及1個1g.10gb
GPU編號2要切出2個3g.40gb
GPU編號4不啟用MIG

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
version: v1
mig-configs:
all-1g.10gb:
- device-filter: "0x20B210DE"
devices: all
mig-enabled: true
mig-devices:
"1g.10gb": 7

custom-config:
- devices: [0,1]
mig-enabled: true
mig-devices:
"2g.20gb": 3
"1g.10gb": 1
- devices: [2]
mig-enabled: true
mig-devices:
"3g.40gb": 2
- devices: [4]
mig-enabled: false
mig-devices: {}

安裝與執行

下載 github 並建構 nvidia-mig-parted

1
2
3
git clone http://github.com/NVIDIA/mig-parted -b v0.1.3
cd mig-parted
go build ./cmd/nvidia-mig-parted

apply 是將組態設定應用至 GPU 上,
如下範例,將啟用 all-1g.10gb 組態(設定檔如上範例所示)

1
nvidia-mig-parted apply -f mig-config.yaml -c all-1g.10gb

開機執行

MIG 為一次性的設定,只要系統重啟,皆須重新配置,可透過以下執行檔寫入 linux service,在開機時能根據設定檔自動配置。

TODO…