Multi-Instance GPU技术
NVIDIA从安培架构开始支持更细粒度的GPU资源划分
以A100 40GB显存为例,A100一张卡的SM单元(streaming multiprocessor)数量(类似CPU的核心数)为108,一个GPU运算实例的最小粒度是14个SM单元,也就是说在分配GPU的SM单元数量时必须是14的整数倍。如果申请规模为28 SM单元数,10GB显存的运算实例,设在单张A100上这样的实例个数最多为X个,那么必须满足28 * X <= 108(SM单元总数限制) 且 10 *X <= 40(GPU显存限制)
所以X最大为3。
每14个SM单元称作一个Slice,每张A100卡有7个Slice。
基础命令nvidia-smi mig
启用MIG
nvidia-smi -mig 1
启用某个GPU的MIG,为GPU编号
nvidia-smi -i -mig 1
后面所有MIG命令中都可用-i 来指定作用于哪张卡(8张A100卡的ID依次为0~7)
创建GPU实例
启用MIG后才能创建GPU实例
nvidia-smi mig -lgip 罗列所有卡的GPU实例配置规格,表格中的ID表示使用哪种规格,比如19表示使用1g.5gb规格实例(1 slice and 5 GB 显存),参考此表来创建GPU实例
nvidia-smi mig -lgi 罗列所有卡的已创建GPU实例
创建GPU实例时,可用-i 来指定作用于哪张卡(8张A100卡的ID依次为0~7),例如
nvidia-smi mig -i 0 -cgi 1