A100を7分割すると、SM108個のうち3個がどのインスタンスにも属さず余りました。
1インスタンスが過負荷になっても、MIGなら他6インスタンスの平均は20.0msのままでした。
MIGは1個の物理GPUを最大7分割し、それぞれをハードウェアレベルで独立させます。
MIG(GPU分割)は、1個の物理GPUを複数の独立したGPUとして扱う仕組みです。公式はMIGを使うと、各A100 GPUは最大7個のGPUインスタンスに分割でき、ハードウェアレベルで隔離・保護されると説明しています。
この「最大7個」という分割数が、計算資源の割り当てにどう効くのか実際に計算して数えました。
A100(SM 108個・メモリ 80GB)を、均等にMIG分割する 分割数 1インスタンスのSM数 余りのSM 1インスタンスのメモリ 1分割 108個 0個 80.0GB 2分割 54個 0個 40.0GB 3分割 36個 0個 26.7GB 4分割 27個 0個 20.0GB 7分割 15個 3個 11.4GB
2分割・3分割・4分割では、SMは余りなく均等に配れます。
最大の7分割では、108個を7で割り切れず、3個がどのインスタンスにも属さず余りました。
この結果から、分割数は必要なインスタンス数だけでなく、SM総数を割り切れるかどうかも見て選ぶ価値があるとわかります。
分割数がSM総数を割り切れないと、余りが生じる。
With MIG, each A100 GPU can be partitioned up to seven GPU instances, isolated and secured at the hardware level.原文NVIDIA Developer Blog「Getting the Most Out of the A100 GPU with Multi-Instance GPU」 この内容の有効期限2027-02-19
MIGはメモリの経路そのものを分けます。SMだけでなく、キャッシュや帯域も専用に割り当てられます。
MIG(GPU分割)の分離は、計算コアだけにとどまりません。公式はMIGを使うと各GPUインスタンスはメモリシステム全体を通じて別々に隔離された経路を持つと述べています。
具体的にはオンチップのクロスバーポート・L2キャッシュバンク・メモリコントローラ・DRAMアドレスバスがすべて個々のインスタンスに一意に割り当てられるとも説明しています。
前段の表にあるメモリ量も、この専用経路の上に配分された値です。7分割では1インスタンスあたり11.4GBまで縮みます。
この専用経路により、あるインスタンスのメモリアクセスが他のインスタンスの帯域を奪うことはありません。
使うモデルが必要とするメモリ量を先に見積もり、分割数がその要件を満たすかを確認してから分割数を決める必要があります。
With MIG, each GPU instance has separate and isolated paths through the entire memory system. The on-chip crossbar ports, L2 cache banks, memory controllers, and DRAM address busses are all assigned uniquely to an individual instance.原文NVIDIA Developer Blog「Getting the Most Out of the A100 GPU with Multi-Instance GPU」 この内容の有効期限2027-02-19
MIGのハードウェア分離は、性能の予測しやすさにも効きます。1インスタンスの過負荷が他へ波及しません。
MIG(GPU分割)は、複数テナントで1個のGPUを共有する場合に隣のワークロードの影響を受けないかという問題にも関わります。公式はそれぞれのGPUインスタンス上のワークロードは、他のGPUインスタンスの他のワークロードに干渉されることなく、予測可能なスループットと遅延で動作できると説明しています。
この「干渉されない」がどれだけの差になるのか実際に計算して比べました。
7個のインスタンスのうち1個が過負荷になったとき、残り6個への影響を比べる 通常 20ms、過負荷側は 300ms 構成 過負荷側の平均 他6インスタンスの平均 MIG(HW分離あり) 300ms 20.0ms 分離なし(共有スケジューラ) 300ms 61.5ms
MIGでは、過負荷側が300msに悪化しても、他6インスタンスの平均は20.0msのままでした。
分離せず1個のGPUを共有スケジューラで回した場合、他6インスタンスの平均も61.5msまで悪化しました。過負荷の余波が待ち行列を通じて波及するためです。
この差は、複数のチームやテナントで1個のGPUを共有する場合に特に効きます。予測できない他者の負荷から自分の性能を守れることがMIGの価値です。
This ensures that the workload on each individual GPU instance can run with predictable throughput and latency, without being interfered by other workloads in other GPU instances.原文NVIDIA Developer Blog「Getting the Most Out of the A100 GPU with Multi-Instance GPU」 この内容の有効期限2027-02-19
同じ課題を持つ会社にとって、動いている設定は「作る時間」を買えるということです。ServiceDockは自作のワークフローやテンプレートを出品できるマーケットプレイスです。手数料や出品の流れは出品者向けページにまとまっています。
出品の仕組みを見る