本发明实施例涉及计算机技术领域,特别是涉及一种控制GPU下电的方法、装置及计算机可读存储介质。
背景技术:
随着AI(Artificial Intelligence,人工智能)服务器应用的日益广泛,GPU(Graphics Processing Unit,视觉处理器)作为AI服务器中最大的耗电器件,对电力的消耗也日渐增加,其中,GPU又称显示核心或显示芯片,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上进行图像运算工作的微处理器。目前,只要在系统开机状态下,不论是否存在使用GPU的应用,GPU均处于激活状态,也即开机状态下,即使没有业务运行,GPU依然在消耗电能,造成电能的浪费,而目前只能通过系统关机的方式彻底规避耗电,但是这种方式为用户的使用带来不便。
鉴于此,如何提供一种解决上述技术问题的控制GPU下电的方法、装置及计算机可读存储介质成为本领域技术人员目前需要解决的问题。
技术实现要素:
本发明实施例的目的是提供一种控制GPU下电的方法、装置及计算机可读存储介质,在使用过程中能够实现GPU在闲时的自动下电,不仅能够节约电能、降低系统功耗,还为用户的使用带来便利。
为解决上述技术问题,本发明实施例提供了一种控制GPU下电的方法,包括:
检测视觉处理器GPU当前是否处于空闲状态;
若是,则通过基板管理控制器BMC控制所述GPU与电源断开。
可选的,所述通过基板管理控制器BMC控制所述GPU与电源断开的过程包括:
控制所述BMC向所述GPU发送使能零功耗指令,以便所述GPU依据所述使能零功耗指令执行相应的动作,以使所述GPU与电源断开。
可选的,所述检测GPU当前是否处于空闲状态的过程包括:
检测当前是否存在使用GPU的应用,,若不存在使用所述GPU的应用,则所述GPU处于空闲状态。
可选的,在所述通过基板管理控制器BMC控制所述GPU与电源断开之前,还包括:
卸载所述GPU的内核模块。
可选的,在所述通过基板管理控制器BMC控制所述GPU与电源断开之后,还包括:
检测当前是否存在需要使用所述GPU的应用;
若是,则控制所述GPU上电。
本发明实施例相应的提供了一种控制GPU下电的装置,包括:
检测模块,用于检测GPU当前是否处于空闲状态,若是,则触发控制模块;
所述控制模块,用于通过基板管理控制器BMC控制所述GPU与电源断开。
可选的,所述控制模块,具体用于控制所述BMC向所述GPU发送使能零功耗指令,以便所述GPU依据所述使能零功耗指令执行相应的动作,以使所述GPU与电源断开。
可选的,所述检测模块,具体用于检测当前是否存在使用GPU的应用,若是,则触发所述控制模块。
可选的,在通过基板管理控制器BMC控制所述GPU与电源断开之前还包括卸载所述GPU的内核模块。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述控制GPU下电的方法的步骤。
本发明实施例提供了一种GPU控制方法、装置及计算机可读存储介质,该方法包括检测GPU当前是否处于空闲状态;若是,则通过基板管理控制器BMC控制GPU与电源断开。本申请能够对GPU的状态进行检测,并且在GPU处于空闲状态时通过BMC控制GPU与电源断开,从而可以实现GPU在闲时的自动下电,不仅能够节约电能、降低系统功耗,还为用户的使用带来便利。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种控制GPU下电的方法的流程示意图;
图2为本发明实施例提供的另一种控制GPU下电的方法的流程示意图;
图3为本发明实施例提供的一种控制GPU下电的装置的结构示意图。
具体实施方式
本发明实施例提供了一种控制GPU下电的方法、装置及计算机可读存储介质,在使用过程中能够实现GPU在闲时的自动下电,不仅能够节约电能、降低系统功耗,还为用户的使用带来便利。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图1,图1为本发明实施例提供的一种控制GPU下电的方法的流程示意图。该方法,包括:
S110:检测视觉处理器GPU当前是否处于空闲状态,若是,则进入S12;
S120:通过基板管理控制器BMC控制GPU与电源断开。
具体的,当GPU处于空闲状态时,操作系统OS端就可以将与GPU的当前状态对应的指令发送至BMC,进而通过BMC控制GPU与相应的电源断开,从而实现GPU的自动下电,进而使在GPU处于空闲状态时不消耗电能。本申请不仅能够降低服务器系统的整体功耗,还可以使IDC(互联网数据中心)节省较大的电力消耗。
需要说明的是,在实际应用中可以实时检测GPU当前是否处于空闲状态,也可以间隔预设时间检测一次,其中,预设时间可以为1min,当然其具体数值根据实际情况进行确定。
本发明实施例提供了一种GPU控制方法,该方法包括检测GPU当前是否处于空闲状态;若是,则通过基板管理控制器BMC控制GPU与电源断开。本申请能够对GPU的状态进行检测,并且在GPU处于空闲状态时通过BMC控制GPU与电源断开,从而可以实现GPU在闲时的自动下电,不仅能够节约电能、降低系统功耗,还为用户的使用带来便利。
请参照图2,在上述实施例的基础上:
进一步的,上述S110中的检测GPU当前是否处于空闲状态的过程,具体可以包括:
S120:检测当前是否存在使用GPU的应用,若不存在使用GPU的应用,则GPU处于空闲状态。
可以理解的是,本申请具体可以通过检测当前系统中是否存在使用GPU的应用即可确定GPU当前是否处在空闲状态,只有在系统当前不存在使用GPU的应用时,GPU才处于闲时状态。
具体的,系统上使用到GPU的应用是已知的,所以OS端可以实时对这些应用进行检测,如果这些应用均处于未使用状态,则说明当前没有使用GPU的应用。
进一步的,上述S120中的通过基板管理控制器BMC控制GPU与电源断开的过程,具体可以包括:
S220:控制BMC向GPU发送使能零功耗指令,以便GPU依据使能零功耗指令执行相应的动作,以使GPU与电源断开。
需要说明的是,为了更好地实现在GPU处于闲时时,通过BMC控制GPU与电源断开,本申请可以基于NVIDA的zero power(零功耗)特性,在闲时通过BMC主动触发GPU的电压掉电,以降低系统功耗。
具体的,在检测出GPU当前处于闲时状态时,OS端可以发送与GPU的当前状态对应的指令(如控制GPU下电指令)至MBC,BMC在接收到OS端发送的指令后,向GPU发送使能零功耗指令,其中,该使能零功耗指令是基于SMBPBI协议生成的指令,SMBPBI(NVIDA SMBUS Post-Box Interface)为英伟达系统管理总线传送接口。GPU在接收到使能零功耗指令后,会依据该指令执行相应的动作,使GPU断开电源,以满足零功耗特性。
更进一步的,在通过基板管理控制器BMC控制GPU与电源断开之前,还包括:
卸载GPU的内核模块。
需要说明的是,为了防止系统报错,本申请在控制GPU与电源断开之前,需要将GPU的驱动等内核模块卸载掉。具体的,可以在检测到GPU处于空闲状态时,先卸载GPU的内核模块,然后再向BMC发送相应的指令通知。当然,也可以在卸载GPU的内核模块的同时向BMC发送相应的指令通知,以便BMC向GPU发送使能零功耗指令,以便GPU依据使能零功耗指令执行相应的动作,以使GPU与电源断开。
进一步的,在上述S120通过基板管理控制器BMC控制GPU与电源断开之后(也即在上述S220之后),该方法还包括:
S230:检测当前是否存在需要使用GPU的应用,若是,则进入S140;
S240:控制GPU上电。
还需要说明的是,现有技术中在通过系统关机的方式使GPU下电时,若下次使用GPU时,需要重新使系统上电,而系统重新上电所需时间较长,占用用户时间,给用户带来不便。故,本申请在GPU处于闲时状态是能够通过BMC控制GPU与电源断开,在GPU与电源断开之后,系统还可以实时检测当前是否有需要使用GPU的应用,并且当存在需要使用GPU的应用时,还可以控制GPU上电,进一步方便用户使用。
相应的本发明实施例还公开了一种控制GPU下电的装置,具体请参照图3,图3为本发明实施例提供的一种控制GPU下电的装置的结构示意图。在上述实施例的基础上:
该装置,包括:
检测模块1,用于检测GPU当前是否处于空闲状态,若是,则触发控制模块;
控制模块2,用于通过基板管理控制器BMC控制GPU与电源断开。
进一步的,控制模块2,具体用于控制BMC向GPU发送使能零功耗指令,以便GPU依据使能零功耗指令执行相应的动作,以使GPU与电源断开。
进一步的,检测模块1,具体用于检测当前是否存在使用GPU的应用,若是,则触发控制模块。
更进一步的,在通过基板管理控制器BMC控制GPU与电源断开之前还包括卸载GPU的内核模块。
另外,在控制模块2通过BMC控制GPU与电源断开之后:
检测模块1,还用于检测当前是否存在需要使用GPU的应用,若是,则触发控制模块2;
控制模块2,还用于控制GPU上电。
需要说明的是,本发明实施例提供的控制GPU下电的装置具有与上述实施例中的控制GPU下电的方法相同的有益效果,并且对于本发明实施例中所涉及到的控制GPU下电的方法的具体介绍请参照上述方法实施例,本申请在此不再赘述。
在上述实施例的基础上,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述控制GPU下电的方法的步骤。
需要说明的是,本发明实施例提供的计算机可读存储介质具有与上述实施例中的控制GPU下电的方法相同的有益效果,并且对于本发明实施例中所涉及到的控制GPU下电的方法的具体介绍请参照上述方法实施例,本申请在此不再赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本说明书中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。