Nvidianvidia 高级特性MIG详细介绍

Posted 从善若水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nvidianvidia 高级特性MIG详细介绍相关的知识,希望对你有一定的参考价值。

博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持!
博主链接

本人就职于国际知名终端厂商,负责modem芯片研发。
在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。


博客内容主要围绕:
       5G/6G协议讲解
       算力网络讲解(云计算,边缘计算,端计算)
       高级C语言讲解
       Rust语言讲解



文章目录

nvidia 高级特性MIG详细介绍(三)


       本篇博文我们使用命令创建几个具体的GI。可以使用NVIDIA Management Library (NVML)APIs或其命令行接口nvidia-smi以编程方式管理MIG。请注意,为简洁起见,下面示例中的一些nvidia-smi输出可能会被裁剪,以展示感兴趣的相关部分。

       有关MIG命令的更多信息,请参阅nvidia-smi手册页或nvidia-smi MIG --help。有关MIG管理API的信息,请参阅CUDA工具包中的NVML头文件(NVML.h) ,其位于/usr/local/cuda/include/nvml.h下,可以使用自动化工具来配置MIG,请参阅NVIDIA MIG分区编辑器(或mig-parted)工具


一、开启MIG特性

       默认情况下,GPU未开启MIG模式。例如,运行nvidia-smi,显示未启用MIG模式:

$ nvidia-smi -i 0
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02    Driver Version: 450.80.02    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  A100-SXM4-40GB      Off  | 00000000:36:00.0 Off |                    0 |
| N/A   29C    P0    62W / 400W |      0MiB / 40537MiB |      6%      Default |
|                               |                      |             Disabled |
+-------------------------------+----------------------+----------------------+

       可以使用以下命令在每个GPU上启用MIG模式:nvidia-smi -i <GPU IDs> -mig 1。可以使用GPU索引、PCI总线ID或UUID来选择GPU,多个GPU之间使用逗号分隔。如果没有指定GPU ID,那么MIG模式将应用于系统上的所有GPU

       当在GPU上启用MIG时,根据GPU产品的不同,驱动程序将尝试重置GPU,以便MIG模式可以生效。

$ sudo nvidia-smi -i 0 -mig 1
Enabled MIG Mode for GPU 00000000:36:00.0
All done.


$ nvidia-smi -i 0 --query-gpu=pci.bus_id,mig.mode.current --format=csv
pci.bus_id, mig.mode.current
00000000:36:00.0, Enabled

二、查询当前MIG配置文件

       NVIDIA驱动程序提供了许多配置文件,用户可以在A100中配置MIG功能时选择加入。profile文件是用户可以创建的GPU实例的大小和功能。驱动程序还提供了可以创建的实例的类型和数量信息。

$ nvidia-smi mig -lgip
+-----------------------------------------------------------------------------+
| GPU instance profiles:                                                      |
| GPU   Name             ID    Instances   Memory     P2P    SM    DEC   ENC  |
|                              Free/Total   GiB              CE    JPEG  OFA  |
|=============================================================================|
|   0  MIG 1g.5gb        19     7/7        4.75       No     14     0     0   |
|                                                             1     0     0   |
+-----------------------------------------------------------------------------+
|   0  MIG 1g.5gb+me     20     1/1        4.75       No     14     1     0   |
|                                                             1     1     1   |
+-----------------------------------------------------------------------------+
|   0  MIG 1g.10gb       15     4/4        9.62       No     14     1     0   |
|                                                             1     0     0   |
+-----------------------------------------------------------------------------+
|   0  MIG 2g.10gb       14     3/3        9.62       No     28     1     0   |
|                                                             2     0     0   |
+-----------------------------------------------------------------------------+
|   0  MIG 3g.20gb        9     2/2        19.50      No     42     2     0   |
|                                                             3     0     0   |
+-----------------------------------------------------------------------------+
|   0  MIG 4g.20gb        5     1/1        19.50      No     56     2     0   |
|                                                             4     0     0   |
+-----------------------------------------------------------------------------+
|   0  MIG 7g.40gb        0     1/1        39.25      No     98     5     0   |
|                                                             7     1     1   |
+-----------------------------------------------------------------------------+

使用下面的命令列出可用的布局。布局的语法是<index>:<GPU Slice Count>,并显示实例在GPU上的位置。所示的位置索引表示了profile文件如何映射到GPU上。

$ nvidia-smi mig -lgipp
GPU  0 Profile ID 19 Placements: 0,1,2,3,4,5,6:1
GPU  0 Profile ID 20 Placements: 0,1,2,3,4,5,6:1
GPU  0 Profile ID 15 Placements: 0,2,4,6:2
GPU  0 Profile ID 14 Placements: 0,2,4:2
GPU  0 Profile ID  9 Placements: 0,4:4
GPU  0 Profile ID  5 Placement : 0:4
GPU  0 Profile ID  0 Placement : 0:8

说明用户可以创建两个3g.20gb类型的示例,对应的profile ID是9,或者7个1g.5gb示例,对应的profile ID是19。


三、创建GI和CI

在开始使用MIG之前,用户需要使用-cgi选项创建GPU实例。有三个选项可以用来指定要创建实例的profile文件:

  • Profile ID(例如,9、14、5);
  • profile文件的缩写(例如,3g.20gb);
  • 示例的完整profile文件名称(例如,MIG 3g.20gb);

一旦创建了GPU实例,就需要创建相应的计算实例(CI)。通过使用-C参数,nvidia-smi可以创建这些实例。

下面的例子展示了用户如何创建GPU实例(以及相应的计算实例)。在这个例子中,用户可以创建两个GPU实例(类型为3g.20gb),每个GPU实例拥有可用计算和内存容量的一半。在这个例子中,我们有意使用profile ID和短名的profile名称来展示如何使用这两个选项:

$ sudo nvidia-smi mig -cgi 9,3g.20gb -C
Successfully created GPU instance ID  2 on GPU  0 using profile MIG 3g.20gb (ID  9)
Successfully created compute instance ID  0 on GPU  0 GPU instance ID  2 using profile MIG 3g.20gb (ID  2)
Successfully created GPU instance ID  1 on GPU  0 using profile MIG 3g.20gb (ID  9)
Successfully created compute instance ID  0 on GPU  0 GPU instance ID  1 using profile MIG 3g.20gb (ID  2)

现在列出可用的GPU实例:

$ sudo nvidia-smi mig -lgi
+----------------------------------------------------+
| GPU instances:                                     |
| GPU   Name          Profile  Instance   Placement  |
|                       ID       ID       Start:Size |
|====================================================|
|   0  MIG 3g.20gb       9        1          4:4     |
+----------------------------------------------------+
|   0  MIG 3g.20gb       9        2          0:4     |
+----------------------------------------------------+

现在,验证GIs和相应的CIs是否已经创建:

$ nvidia-smi
+-----------------------------------------------------------------------------+
| MIG devices:                                                                |
+------------------+----------------------+-----------+-----------------------+
| GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
|      ID  ID  Dev |                      | SM     Unc| CE  ENC  DEC  OFA  JPG|
|                  |                      |        ECC|                       |
|==================+======================+===========+=======================|
|  0    1   0   0  |     11MiB / 20224MiB | 42      0 |  3   0    2    0    0 |
+------------------+----------------------+-----------+-----------------------+
|  0    2   0   1  |     11MiB / 20096MiB | 42      0 |  3   0    2    0    0 |
+------------------+----------------------+-----------+-----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

四、销毁GI和CI

一旦GPU处于MIG模式,就可以动态配置GIs和CIs。下面的例子展示了如何销毁前面例子中创建的CIs和GIs。

4.1 销毁全部CIs和GIs

$ sudo nvidia-smi mig -dci && sudo nvidia-smi mig -dgi
Successfully destroyed compute instance ID  0 from GPU  0 GPU instance ID  1
Successfully destroyed compute instance ID  1 from GPU  0 GPU instance ID  1
Successfully destroyed compute instance ID  2 from GPU  0 GPU instance ID  1
Successfully destroyed GPU instance ID  1 from GPU  0
Successfully destroyed GPU instance ID  2 from GPU  0

4.2 销毁某个GI下的CIs

$ sudo nvidia-smi mig -dci -gi 1 -ci 0,1,2 
Successfully destroyed compute instance ID  0 from GPU  0 GPU instance ID  1
Successfully destroyed compute instance ID  1 from GPU  0 GPU instance ID  1
Successfully destroyed compute instance ID  2 from GPU  0 GPU instance ID  1

可以验证CI设备现在已经在GPU上销毁了:

$ nvidia-smi
+-----------------------------------------------------------------------------+
| MIG devices:                                                                |
+------------------+----------------------+-----------+-----------------------+
| GPU  GI  CI  MIG |         Memory-Usage |        Vol|         Shared        |
|      ID  ID  Dev |                      | SM     Unc| CE  ENC  DEC  OFA  JPG|
|                  |                      |        ECC|                       |
|==================+======================+===========+=======================|
|  No MIG devices found                                                       |
+-----------------------------------------------------------------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

4.3 销毁GIs

$ sudo nvidia-smi mig -dgi
Successfully destroyed GPU instance ID  1 from GPU  0
Successfully destroyed GPU instance ID  2 from GPU  0


感谢大家的阅读,这里是从善若水的博客!


MIG09-资讯推荐算法高级工程师-T3.1及以上-腾讯-深圳-30-60万

点击上方“公众号”可订阅哦!


只要你有梦想,只要你有足够的实力,不是机会挑你,而是你挑机会

I WANT YOU

畅未来

谈梦想

招聘须知



1

岗位要求

学历要求:本科及以上

工作年限:3年以上

性别要求:不限

年龄要求:35岁以内

语言要求:无

证书要求:无

需精通技能:无

面试流程:多次来公司进行面试

2

职位描述

工作职责:

1.负责浏览器资讯用户画像的优化工作;

2.负责基于hadoop,spark集群CTR预估、用户分群模型构建; 3.负责浏览器个性化推荐系统的设计与开发工作; 

4.负责浏览器内容筛选、推荐列表排序的相关开发及优化工作; 

5.负责业务各应用场景下的推荐效果数据分析; 

6.负责以效果为目标的算法策略设计和优化迭代。


任职资格: 

1.本科及以上学历; 

2.熟练掌握C/C++,scala,shell中的一种或多种语言; 

3.深入理解常见机器学习或数据挖掘类的算法原理,熟悉常见的统计原理及方法; 

4.有大数据分析工具相关的使用经验,比如Hadoop生态中的Map-Reduce,hivesql,pig及spark; 

5.良好的数据意识,能结合产品通过数据分析发现有价值信息; 

6.有LSTM等网络在NLP应用经验者(如在caffe,tensorflow等框架下实现)优先。 

7.有ctr预估常用算法经验优先(LR/GBDT/FM/FFM)

公司知多少


介绍:

深圳市腾讯计算机系统有限公司成立于1998年11月,由马化腾、张志东、许晨晔、陈一丹、曾李青五位创始人共同创立。 是中国最大的互联网综合服务提供商之一,也是中国服务用户最多的互联网企业之一。腾讯多元化的服务包括:社交和通信服务QQ及微信/WeChat、社交网络平台QQ空间、腾讯游戏旗下QQ游戏平台、门户网站腾讯网、腾讯新闻客户端和网络视频服务腾讯视频等。


datazhao

更多资讯早知道



以上是关于Nvidianvidia 高级特性MIG详细介绍的主要内容,如果未能解决你的问题,请参考以下文章

Nvidianvidia 高级特性MIG详细介绍

MIG09-资讯推荐算法高级工程师-T3.1及以上-腾讯-深圳-30-60万

MIG09-商品推荐算法高级工程师-T3.1及以上+腾讯+深圳+30-60万

python之高级特性

SpringBoot 参数校验,高级特性,非常实用

RabbitMq高级特性之延迟队列 通俗易懂 超详细 内含案例