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

这篇具有很好参考价值的文章主要介绍了【Nvidia】nvidia 高级特性MIG详细介绍(三)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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


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



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

【Nvidia】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


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


【Nvidia】nvidia 高级特性MIG详细介绍(三)文章来源地址https://www.toymoban.com/news/detail-408344.html

到了这里,关于【Nvidia】nvidia 高级特性MIG详细介绍(三)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【AI】AI入门之Nvidia Jetson平台(一)- Jetson平台介绍

    目录 一. Jetson概述 二. Jetson系列 2.1 产品图谱  2.2 参数对比  2.3 Xavier NX模组  三. NVIDIA GPU 3.1 架构演变 3.2 Volta GPU   四. Xavier NX开发套件 NVIDIA ®   Jetson ™  是世界领先的平台,适用于自主机器和其他嵌入式应用进行边缘计算部署。例如自主机器人,便携式医疗设备等。  

    2024年02月16日
    浏览(35)
  • NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver. 最全解决方案!详细!

    真的折磨了我整整一天,从网上的资料到GPT都翻遍了,终于是解决了!以下方案希望能帮助到你们 再次运行nvidia-smi,若成功,说明你很幸运。 若没成功,报错 Error! Could not locate dkms.conf file. 或是 Module nvidia/530.41.03 already installed on kernel 5.4.0-132-generic/x86_64 接着往下看 若是使用

    2024年02月16日
    浏览(34)
  • 在Windows 10(Win10)下安装“NVIDIA图形驱动程序-显卡驱动”、“NVIDIA控制面板”、CUDA Toolkit、cuDNN Archive的详细过程记录

    目标:安装CUDA Toolkit和cuDNN Archive 安装CUDA Toolkit首先要知道自己的CUDA版本号,通过控制面板打开“NVIDIA 控制面板”查看自己的CUDA版本。 按照别人的经验应该有下图中的“NVIDIA 控制面板”, 但是我的没有,如下图所示: 原因是没有完整安装NVIDIA的显卡驱动。下载一个驱动精

    2024年02月03日
    浏览(60)
  • 【ubuntu环境配置】超详细ubuntu20.04/22.04安装nvidia驱动/CUDA/cudnn

    nvidia显卡驱动安装方式有三种:使用ubuntu附加驱动的方式;使用命令行方式安装;使用.run文件的方式进行安装, 点击菜单中的Additional Drivers选择适合的驱动版本进行安装,该方法最方便快捷(但有时会翻车) 更新所有的软件包 安装显卡驱动 详见我的另一篇博客Ubunut20.04/2

    2024年01月22日
    浏览(66)
  • NVIDIA_Tesla_V100S_PCIe_32GB加速卡的详细参数

    记录了NVIDIA_Tesla_V100S_PCIe_32GB加速卡的详细参数 参考链接: https://www.xincanshu.com/gpu/NVIDIA_Tesla_V100S_PCIe_32_GB/canshu.html 参数 值 描述 核心频率 1245 MHz 核心 一秒内能够进行多少处理周期 Turbo频率 1597 MHz 突发加速频率,类似于CPU睿频 流处理单元 5120 个 负责处理图像不同方面的构造

    2024年02月06日
    浏览(34)
  • 超详细教程——Ubuntu20.04 安装英伟达NVIDIA显卡驱动、CUDA、Cmake以及不同版本的CUDA切换

    在windows和linux双系统下,为ubuntu安装nvidia、cuda、cmake等程序是一个可能会难到各个计算机小白的问题,本文将一步步地带您学会安装以上内容。 一、安装英伟达NVIDIA显卡驱动 对于新安装的linux操作系统,我们需要为它安装nvidia显卡驱动(ubuntu有自带的显卡驱动但更推荐安装

    2024年02月02日
    浏览(43)
  • Ubuntu20.04安装Nvidia驱动——4060显卡(黑屏解决方法) 1.首先禁用Nouveau(Ubuntu安装显卡驱动详细步骤)

    如果按照正常方法安装不成功(如无法连接第二屏幕,nvidia-smi无显示),先尝试在安装后不管什么方法进入桌面后在应用程序中找到NVIDIA X Server Settings,在最后一项PRIME Profiles将NVIDIA On-Demand改为Performance Mode,重启后正常,安装深度学习环境也无问题,但是我的神州刷新率还

    2024年02月05日
    浏览(68)
  • nvidia docker, nvidia docker2, nvidia container toolkits三者的区别

    这篇博客的起因是在docker容器中引入GPU资源时,查阅了网上许多教程,教程之间概念模糊不清,相互矛盾,过时的教程和新的教程混杂在一起。主要原因是nvidia为docker容器的支持发生了好几代变更,api发生了不少变化。下面来总结一下各代支持发展历程。 凡是使用了命令 n

    2024年02月03日
    浏览(27)
  • NVIDIA安装CUDA在安装阶段提示NVIDIA安装程序失败

    首先在NVIDIA官网上下载相应的CUDA 版本 安装过程出现上述报错! 解决方法。下载完成直接双击,默认选择路径 3. 点击同意并继续 4. 选择自定义模式 5. 在选择组件的时候,将CUDA中的Nsight VSE和Visual Studio Integration取消勾选,后选择下一步,即可安装成功 6.在CMD中检测CUDA是否安

    2024年02月16日
    浏览(36)
  • ubuntu安装docker及nvidia-container-toolkit(nvidia-docker和nvidia-docker2)

    旧版本的 Docker 称为 docker 或者 docker-engine,使用以下命令卸载旧版本: 为了确认所下载软件包的合法性,需要添加软件源的 GPG 密钥。 鉴于国内网络问题,强烈建议使用国内源,官方源请在注释中查看。 然后,我们需要向 sources.list 中添加 Docker 软件源: 以上命令会添加稳定

    2024年02月08日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包