--- title: Nvidia MIG Setup tags: Mig description: MIG command record --- # Nvidia Mig (Multi-Instance GPU) Nvidia Ampere 架構開始支援將一個 GPU 切割成最多 7 個分區,每個分區互相獨立彼此不互相影響,MIG 在 Linux 系統上支援 Virtual Machine, Kubernetes, Docker Engine ## Introduction ### Concepts 介紹 MIG 中專有名詞 #### Streaming Multiprocessor (SM) Streaming Multiprocessor 在 GPU 上執行運算指令 #### GPU Context 封裝 GPU 運算所需要的資源,包含 address space, memory allocation #### GPU Engine GPU engine 負責執行 GPU job,包含 DMAs, NVDEC, NVENC #### GPU Memory Slice 包含 GPU memory controllers 和 cache,一個 GPU Memory Slice 大約為一張 GPU memory 的 1/8 #### GPU SM Slice 一個 GPU SM Slice 是最小的 GPU SM 分區,一個 GPU SM Slice 大約為一張 GPU SM 的 1/7 #### GPU Slice 一個 GPU Slice 是一個 GPU SM Slice 和 GPU Memory Slice 的組合 #### GPU Instance GPU Instance 是一個 GPU Slice 和 GPU engines (DMAs, NVDECs, etc.)的組合 #### Compute Instance Compute Instance 是 GPU Instance 的切片 ### Architecture #### A100 MIG Architecture  #### A100 Support profile  ### Setup MIG on A100 #### open MIG setting 開啟 MIG 模式,sudo nvidia-smi -i <device_id> -mig 1 ``` $ sudo nvidia-smi -i 0 -mig 1 ```  #### Reset MIG setting 重設 GPU MIG 設定 ``` $ sudo nvidia-smi --gpu-reset ``` #### List GPI Instance Profiles 列出所有 GPU Instance 可以使用的 profiles ``` $ nvidia-smi mig -lgip ```  #### List GPI Instance Profiles and Placements ``` $ nvidia-smi mig -lgipp ```  #### Create GPU Instance There are three ways to create instance profiles. 1. Profile ID (e.g. 9, 14, 5) 2. Short name of the profile (e.g. 3g.20gb) 3. Full profile name of the instance (e.g. MIG 3g.20gb) ``` $ sudo nvidia-smi mig -cgi 9,3g.20gb -C ```  ## 參考 * https://docs.nvidia.com/datacenter/tesla/mig-user-guide/index.html#prerequisites ## Thank you! :dash: You can find me on - GitHub: https://github.com/shaung08 - Email: a2369875@gmail.com
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up