GPU性能的监控方法、监控装置和电子设备与流程

文档序号:35084212发布日期:2023-08-09 23:19阅读:169来源:国知局
GPU性能的监控方法、监控装置和电子设备与流程

本技术实施例涉及gpu性能监控领域,具体而言,涉及一种gpu性能的监控方法、监控装置、计算机可读存储介质和电子设备。


背景技术:

1、对于人工智能云平台,深度学习算力资源是比较贵重的,类似于ga100的新型算力更为稀缺,ga100是nvidia tesla-a100型号的gpu卡,是一种能够开启mig(英伟达提出的gpu硬件维度算力切分方式,multi-instance gpu,简称为mig)模式的新型算力,英伟达提供mig功能也是为了从硬件根本实现对算力的合理切分与分配使用。mig是对于gpu整卡来说更细粒度的资源切割,直接从物理角度将gpu的内核与显存进行拆分与重组,可以更大程度上的去适应多种较小任务的同时执行。且过去的gpu复用是使用时间片来实现多任务并发执行,根本上并不能算作是各任务相对独立,也无法保证资源的充分利用。

2、mig可以将gpu的7个核与显存生成多种组合,使其能够灵活隔离资源与分配给任务。但是,开启mig后,nvidia的“nvidia smi”命令便无法获取到各mig实例的详细监控指标,gpu利用率也显示n/a(不使用或者不支持当前功能),只能获取到gpu整卡的数据与各mig实例的显存使用情况。在k8s云平台的训练模块中,每个任务生成的pod(一种数据结构,plain old data structure,简称为pod)会分配对应的gpu资源,当开启mig后,将会自动把mig实例的uuid(通用标识符,universally unique identifer,简称为uuid)写入到pod的环境变量中,而无法直接获取其对应gpu的uuid,造成查询监控数据上的偏差。因此,gpu中多个任务的优化情况、训练情况、资源的使用情况就无法通过数据进行实时监控的,造成了功能上的缺失。

3、因此,亟需一种能够对gpu中多个mig实例的性能进行监控的方法。


技术实现思路

1、本技术实施例提供了一种gpu性能的监控方法、监控装置、计算机可读存储介质和电子设备,以至少解决相关技术中无法对gpu中的多个mig小组的性能进行监控的问题。

2、根据本技术的一个实施例,提供了一种gpu性能的监控方法,包括:通过目标脚本判断gpu是否开启mig模式,其中,所述目标脚本为所述gpu所在的节点中至少用于获取并输出所述gpu中多个mig小组的性能参数的脚本,所述mig模式是用于将所述gpu划分为多个所述mig小组的模式;在所述gpu开启所述mig模式的情况下,通过所述目标脚本获取所述gpu中各所述mig小组的标识符和索引值,根据每个所述mig小组的标识符和索引值至少获取每个所述mig小组对应的一组第一性能参数,并至少将所述第一性能参数存储至目标存储单元,其中,所述第一性能参数表示每个所述mig小组的计算核心的性能且至少包括显存参数和dram_active参数。

3、在一个示例性实施例中,通过目标脚本判断gpu是否开启mig模式之前,还包括:执行所述目标脚本中的nvidia smi指令,在成功执行所述nvidia smi指令的情况下,执行判断所述gpu是否开启mig模式的步骤;在执行所述nvidia smi指令失败的情况下,退出所述目标脚本。

4、在一个示例性实施例中,通过所述目标脚本获取所述gpu中各所述mig小组的标识符和索引值,包括:通过所述目标脚本中的nvidia smi l指令获取所述gpu中各所述mig小组的标识符和索引值。

5、在一个示例性实施例中,在获取所述gpu中各所述mig小组的标识符和索引值之后,还包括:将所述gpu的多个所述mig小组的标识符和索引值生成至目标群组,判断所述目标群组的群组代号与定向文件中的初始群组的群组代号是否相同,其中,所述目标群组包括多个目标组,每个所述目标组包括一个所述mig小组的标识符和索引值,所述目标群组和所述初始群组都具有唯一的群组代号,所述定向文件存储于所述gpu所在的节点中,所述初始群组生成于所述gpu上一次开启所述mig模式之后;在所述目标群组的群组代号与所述初始群组的群组代号相同的情况下,判断所述目标群组中每个所述mig小组的存储空间大小与所述初始群组中每个初始mig小组的存储空间大小是否相同,在所述目标群组中所有的所述mig小组的存储空间大小与所述初始群组中所有的所述初始mig小组的存储空间大小相同的情况下,将所述初始群组的群组代号作为所述目标群组的群组代号,在所述目标群组中所有的所述mig小组的存储空间大小与所述初始群组中所有的所述初始mig小组的存储空间大小不同的情况下,删除所述初始群组的群组代号,将所述目标群组的群组代号存储至所述定向文件中;在所述目标群组的群组代号与所述初始群组的群组代号不同的情况下,将所述目标群组的群组代号存储至所述定向文件中。

6、在一个示例性实施例中,根据每个所述mig小组的标识符和索引值至少获取每个所述mig小组对应的一组第一性能参数,包括:通过所述目标脚本的dcgmi dmon g命令,按照定向文件中的目标群组代号对应的目标群组中的每个所述mig小组的标识符和索引值,获取每个所述mig小组对应的一组第一性能参数,其中,所述定向文件存储于所述gpu所在的节点中且包括所述目标群组的群组代号,所述目标群组包括多个目标组,每个所述目标组包括一个所述mig小组的标识符和索引值;通过所述目标脚本的dcgmi dmon命令,获取所述gpu的第二性能参数,其中,所述第二性能参数表示所述gpu的性能且至少包括所述gpu的显存。

7、在一个示例性实施例中,至少将所述第一性能参数存储至目标存储单元,包括:所述gpu所在的节点中还包括telegraf组件,所述telegraf组件用于在预定周期内执行所述目标脚本,获取所述目标脚本输出的所述第一性能参数和第二性能参数,并将所述第一性能参数和所述第二性能参数存储至所述目标存储单元,其中,所述第二性能参数用于表示所述gpu的性能且至少包括所述gpu的显存。

8、在一个示例性实施例中,所述方法还包括:生成mig任务,在所述mig任务中控制所述gpu开启所述mig模式,以将所述gpu划分为多个所述mig小组,其中,所述mig任务用于控制所述gpu开启所述mig模式。

9、在一个示例性实施例中,所述方法还包括:通过云平台调用接口,获取所述目标存储单元中存储的所述第一性能参数和第二性能参数,其中,所述第二性能参数表示所述gpu的性能且至少包括所述gpu的显存;将所述第一性能参数和所述第二性能参数输出至界面进行展示。

10、根据本技术的另一个实施例,提供了一种gpu性能的监控装置,包括:判断模块,用于通过目标脚本判断gpu是否开启mig模式,其中,所述目标脚本为所述gpu所在的节点中至少用于获取并输出所述gpu中多个mig小组的性能参数的脚本,所述mig模式是用于将所述gpu划分为多个所述mig小组的模式;存储模块,用于在所述gpu开启所述mig模式的情况下,通过所述目标脚本获取所述gpu中各所述mig小组的标识符和索引值,根据每个所述mig小组的标识符和索引值至少获取每个所述mig小组对应的一组第一性能参数,并至少将所述第一性能参数存储至目标存储单元,其中,所述第一性能参数表示每个所述mig小组的计算核心的性能且至少包括显存参数和dram_active参数。

11、根据本技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一种方法实施例中的步骤。

12、根据本技术的又一个实施例,还提供了一种电子设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一种方法实施例中的步骤。

13、通过本技术,由于在gpu开启mig模式的情况下,通过目标脚本获取各mig小组的标识符和索引值,根据各mig小组的标识符和索引值获取每个mig小组对应的一组性能参数,将每个mig小组对应的每组性能参数存储至目标存储单元,之后对多个mig小组的性能参数进行展示。与现有技术中,只能对整个gpu的性能参数进行监控而无法获取gpu中多个mig小组的性能进行监控的方法相比,本技术通过目标脚本,确定gpu开启mig模式,即gpu被划分为多个mig小组,获取每个mig小组对应的标识符和索引值,之后通过标识符和索引值获取每个mig小组对应的第一性能参数,得到多个第一性能参数,进行存储与展示,因此,可以解决现有技术中无法对gpu中的多个mig小组的性能进行监控的问题,达到监控gpu中多个mig小组的性能的效果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1