CN116909379A - 芯片运行的控制方法、装置、电子设备、存储介质及芯片 - Google Patents

芯片运行的控制方法、装置、电子设备、存储介质及芯片 Download PDF

Info

Publication number
CN116909379A
CN116909379A CN202310933303.8A CN202310933303A CN116909379A CN 116909379 A CN116909379 A CN 116909379A CN 202310933303 A CN202310933303 A CN 202310933303A CN 116909379 A CN116909379 A CN 116909379A
Authority
CN
China
Prior art keywords
node
chip
processed
power consumption
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310933303.8A
Other languages
English (en)
Inventor
何山
胡英俊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Power Tensors Intelligent Technology Co Ltd
Original Assignee
Shanghai Power Tensors Intelligent Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Power Tensors Intelligent Technology Co Ltd filed Critical Shanghai Power Tensors Intelligent Technology Co Ltd
Priority to CN202310933303.8A priority Critical patent/CN116909379A/zh
Publication of CN116909379A publication Critical patent/CN116909379A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/324Power saving characterised by the action undertaken by lowering clock frequency
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3024Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3058Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations
    • G06F11/3062Monitoring arrangements for monitoring environmental properties or parameters of the computing system or of the computing system component, e.g. monitoring of power, currents, temperature, humidity, position, vibrations where the monitored property is the power consumption
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Mathematical Physics (AREA)
  • Power Sources (AREA)

Abstract

本公开提供了一种芯片运行的控制方法、装置、电子设备、存储介质及芯片,该方法包括:获取芯片按照执行指令编译内核时生成的控制流图;基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息;响应于所述待处理节点对应的所述预测功耗信息大于第一功耗阈值,在所述待处理节点之前插入控制节点,并更新所述控制流图,生成更新后的控制流图,其中,所述控制节点对应的控制指令用于降低芯片的运行频率。

Description

芯片运行的控制方法、装置、电子设备、存储介质及芯片
技术领域
本公开涉及集成电路技术领域,具体而言,涉及一种芯片运行的控制方法、装置、电子设备、存储介质及芯片。
背景技术
芯片在高性能运算过程中会产生大量热量,这将降低芯片性能,还易产生计算错误,甚至导致芯片毁损等严重的问题。尤其是对于神经网络加速芯片等对性能要求较高的芯片而言,如何在保证芯片性能的同时降低芯片使用过程中产生的热量,成为本领域亟待解决的问题。
发明内容
本公开提供一种芯片运行的控制方法、装置、电子设备、存储介质及芯片。
第一方面,本公开提供了一种芯片运行的控制方法,包括:
获取芯片按照执行指令编译内核时生成的控制流图;
基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息;
响应于所述待处理节点对应的所述预测功耗信息大于第一功耗阈值,在所述待处理节点之前插入控制节点,并更新所述控制流图,生成更新后的控制流图,其中,所述控制节点对应的控制指令用于降低所述芯片的运行频率。
上述方法中,通过基于控制流图中待处理节点对应的至少一条指令,确定待处理节点对应的预测功耗信息,若待处理节点对应的预测功耗信息大于功耗阈值,表示芯片执行待处理节点所匹配的指令时存在芯片过热的可能性,故可以在待处理节点之前插入控制节点,对控制流图进行更新,生成更新后的控制流图,以便后续执行控制流图时,先执行控制节点,利用该控制节点对应的控制指令降低芯片的运行频率,降低了芯片功耗,再执行待处理接点,缓解了功耗较大、芯片过热的问题,达到控制芯片温度的目的。
同时,上述方法中从芯片的执行流程上控制芯片功耗,缓解了在芯片硬件电路上增加温度控制电路造成的占用芯片面积的问题,提高了芯片面积的利用率。
一种可能的实施方式中,所述方法还包括:
响应于所述待处理节点对应的所述预测功耗信息小于或等于第二功耗阈值,控制所述芯片执行所述待处理节点对应的指令。
一种可能的实施方式中,所述在所述待处理节点之前插入控制节点,对所述控制流图进行更新,生成更新后的控制流图,包括:
在所述待处理节点之前插入状态判断节点和控制节点,对所述控制流图进行更新,生成更新后的控制流图;其中,所述状态判断节点对应的判断指令用于基于预设数值、和从存储器获取到的温度值,确定所述芯片对应的温度状态;所述温度值用于指示芯片对应的当前温度的取值。
这里,在待处理节点对应的预测功耗信息大于第一功耗阈值时,在待处理节点之前插入状态判断节点和控制节点,对控制流图进行更新,生成更新后的控制流图,以便可以先利用状态判断节点确定芯片当前温度是否较高,在当前温度较高时执行控制节点,能够较准确的为后续是否执行控制节点提供指示,在保障芯片安全运行的同时,提高芯片的执行效率。
一种可能的实施方式中,所述方法还包括:
基于所述更新后的控制流图,控制所述芯片执行所述状态判断节点对应的判断指令;
响应于所述温度状态指示所述温度值小于预设数值,基于更新后的控制流图,控制所述芯片执行所述待处理节点对应的指令。
上述实施方式中,在温度状态指示当前数值小于预设数值的情况下,基于更新后的控制流图,控制芯片执行待处理节点对应的指令,可以在待处理节点的预测功耗信息大于功耗阈值,而芯片不过热的情况下,使芯片继续以正常的运行频率工作,保证了芯片的计算效率。
一种可能的实施方式中,所述方法还包括:
响应于所述温度状态指示所述温度值大于或等于预设数值,基于更新后的控制流图,控制所述芯片执行所述控制节点对应的控制指令;
在所述控制指令执行结束之后,控制所述芯片执行所述待处理节点对应的指令。
上述实施方式中,在温度状态指示温度值大于或等于预设数值的情况下,基于更新后的控制流图,控制芯片先执行控制节点对应的控制指令,降低芯片的运行频率,即降低了芯片的功耗,再执行待处理节点对应的指令,可以在保证芯片不过热,保障芯片安全运行。
一种可能的实施方式中,所述基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息,包括:
针对所述待处理节点中的每条指令,基于所述指令对应的指令类型,确定所述指令对应的预测功耗信息;
将各条指令分别对应的预测功耗信息的和值,确定为所述待处理节点的预测功耗信息。
上述实施方式中,基于待处理节点中每条指令对应的指令类型,确定每条指令对应的预测功耗信息,进而可以确定待处理节点的预测功耗信息,以便后续可以基于该待处理节点的预测功耗信息和功耗阈值,确定是否需要对芯片的功耗进行控制,即确定是否要在待处理节点之前插入控制节点。
以下装置、电子设备等的效果描述参见上述方法的说明,这里不再赘述。
第二方面,本公开提供了一种芯片,包括:存储器和运算器;
所述存储器,用于存储所述运算器所需的各个指令;
所述运算器,用于从所述存储器中获取所述各个指令,并按照第一方面或任一实施方式所述的芯片运行的控制方法,执行所述各个指令,得到执行结果。
这里,运算器可以按照上述实施方式所述的方法执行各个指令,在执行各个指令时,能够从软件层面降低芯片的功耗,达到了控制芯片温度的目的,缓解了芯片的过热情况的发生,提高了芯片的安全性。
第三方面,本公开提供了一种芯片运行的控制装置,包括:
获取模块,用于获取芯片按照执行指令编译内核时生成的控制流图;
确定模块,用于基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息;
更新模块,用于响应于所述待处理节点对应的所述预测功耗信息大于第一功耗阈值,在所述待处理节点之前插入控制节点,并更新所述控制流图,生成更新后的控制流图,其中,所述控制节点对应的控制指令用于降低芯片的运行频率。
第四方面,本公开提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述第一方面或任一实施方式所述的芯片运行的控制方法的步骤;或者如第二方面所述的芯片。
第五方面,本公开提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上述第一方面或任一实施方式所述的芯片运行的控制方法的步骤。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,此处的附图被并入说明书中并构成本说明书中的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本公开实施例所提供的一种芯片运行的控制方法的流程示意图;
图2示出了本公开实施例所提供的一种芯片运行的控制方法中,控制流图的结构示意图;
图3示出了本公开实施例所提供的一种芯片运行的控制方法中,更新后的控制流图的结构示意图;
图4示出了本公开实施例所提供的一种芯片的结构示意图;
图5示出了本公开实施例所提供的一种芯片运行的控制装置的架构示意图;
图6示出了本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本公开实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本公开的实施例的详细描述并非旨在限制要求保护的本公开的范围,而是仅仅表示本公开的选定实施例。基于本公开的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
芯片在高性能运算过程中会产生大量热量,这将降低芯片性能,还易产生计算错误,甚至导致芯片毁损等严重的问题。一般的,可以在中央处理器(central processingunit,CPU)中加入数字温度传感器(Digital Thermal Sensor,DTS)和温度控制电路,当DTS检测到的温度超过设置的最高温度时,会触发温度控制电路的相关逻辑,降低CPU的执行频率,防止芯片过热。但是,温度控制电路会占用芯片面积,在芯片面积受限的情况下,该方法的使用会受到限制。
为了解决上述问题,本公开实施例提供了一种芯片运行的控制方法、装置、电子设备、存储介质及芯片。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
为便于对本公开实施例进行理解,首先对本公开实施例所公开的一种芯片运行的控制方法进行详细介绍。本公开实施例所提供的芯片运行的控制方法的执行主体一般为具有一定计算能力的计算机设备,该计算机设备例如包括:终端设备或服务器,终端设备可以为计算设备、用户设备等等。在一些可能的实现方式中,该芯片运行的控制方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。其中,本公开提出的方法可以适用于多种高性能的芯片,以降低芯片的功耗,本公开实施例对此不进行具体限定。下述实施例以神经网络芯片为例进行具体说明。
经研究,神经网络芯片的主要工作是执行一个指令编译内核kernel,kernel可以视作包含计算逻辑的函数,kernel由神经网络芯片根据输入的指令生成。其中,神经网络芯片的功耗与kernel生成指令的计算密度相关。故神经网络芯片的发热和功耗与用户需要执行的计算相关。基于上述研究发现,本公开提出了一种芯片运行的控制方法。
参见图1所示,为本公开实施例所提供的一种芯片运行的控制方法的流程示意图,该方法包括S101-S103,其中:
S101,获取芯片按照执行指令编译内核时生成的控制流图。
S102,基于控制流图中待处理节点对应的至少一条指令,确定待处理节点的预测功耗信息。
S103,响应于待处理节点对应的预测功耗信息大于第一功耗阈值,在待处理节点之前插入控制节点,并更新所述控制流图,生成更新后的控制流图,其中,控制节点对应的控制指令用于降低芯片的运行频率。
上述方法中,通过基于控制流图中待处理节点对应的至少一条指令,确定待处理节点对应的预测功耗信息,若待处理节点对应的预测功耗信息大于功耗阈值,表示芯片执行待处理节点所匹配的指令时存在芯片过热的可能性,故可以在待处理节点之前插入控制节点,对控制流图进行更新,生成更新后的控制流图,以便后续执行控制流图时,先执行控制节点,利用该控制节点对应的控制指令降低芯片的运行频率,降低了芯片功耗,再执行待处理接点,缓解了功耗较大、芯片过热的问题,达到控制芯片温度的目的。
同时,上述方法中从芯片的执行流程上控制芯片功耗,缓解了在芯片硬件电路上增加温度控制电路造成的占用芯片面积的问题,提高了芯片面积的利用率。
下述对S101-S103进行具体说明。
针对S101:
本公开中的芯片可以为任一芯片,比如,可以为运行神经网络的人工智能芯片等。芯片在按照执行指令编译kernel时,会生成控制流图,该控制流图由节点和控制流构成。每个节点可以表征一个独立执行的指令,比如数据访存指令等,或者也可以表征一组需要连续执行的指令,比如,连续执行的指令可以包括:加法运算指令、减法运算指令和乘法运算指令等等,其中,不同的节点对应的指令可以相同,也可以不同。具体的,节点对应的指令可以根据芯片设计进行确定。控制流图的控制流可以表征跳转条件,比如,针对控制流图中的节点1、节点2和控制流1,控制流1从节点1出发,指向节点2,在满足控制流1表征的跳转条件时,芯片的执行过程从节点1跳转到节点2。
针对S102和S103:
实施时,待处理节点可以为控制流图中的每个节点,也可以从控制流图包括的多个节点中选取待处理节点。比如,可以根据待处理节点包括的指令数量、指令类型等筛选待处理节点,其中待处理节点的筛选条件可以根据芯片设计进行确定。示例性的,可以选取指令数量大于预设数量的节点作为待处理节点,和/或,也可以选取包括指令类型为乘法运算的节点作为待处理节点等。
针对每个待处理节点,根据待处理节点对应的指令,确定待处理节点的预测功耗信息,比如可以将待处理节点中各条指令分别对应的预测功耗信息进行累加处理,得到待处理节点的预测功耗信息;或者,还可以将待处理节点中各条指令分别对应的预测功耗信息求平均,得到待处理节点的预测功耗信息。当待处理节点对应的预测功耗信息大于第一功耗阈值时,确定芯片执行该待处理节点对应的指令时,可能存在芯片过热的情况发生,故可以在待处理节点之前插入控制节点,对控制流图进行更新,生成更新后的控制流图。其中,第一功耗阈值可以根据芯片的实际设计进行确定,比如第一功耗阈值可以为预设功耗值,或者也可以为确定功耗范围,根据芯片的运行情况从功耗范围内确定第一功耗阈值,比如芯片的运行情况指示运行时间较长,则可以从功耗范围内确定较小的功耗值,作为第一功耗阈值。
其中,控制节点对应的控制指令用于降低芯片的运行频率。比如,芯片可以暂停执行功耗较高的计算单元,仅运行时钟单元或者一些功耗较低的计算单元,实现降低芯片执行频率的目的,并在芯片执行频率降低之后,再启动执行功耗较高的计算单元。即后续可以先执行控制节点,利用控制节点对应的控制指令降低芯片的运行频率,在执行待处理节点,使得芯片执行待处理节点时的功耗较低,缓解芯片过热的情况发生。
一种可能的实施方式中,基于控制流图中待处理节点对应的至少一条指令,确定待处理节点的预测功耗信息,包括:
步骤A1,针对待处理节点中的每条指令,基于指令对应的指令类型,确定指令对应的预测功耗信息。
步骤A2,将各条指令分别对应的预测功耗信息的和值,确定为待处理节点的预测功耗信息。
针对待处理节点中的每条指令,基于指令对应的指令类型,确定指令对应的预测功耗信息。其中,指令对应的预测功耗信息与芯片的硬件结构相关。针对一种指令类型的指令,不同的芯片对应不同预测功耗信息。以及,在同一芯片中,不同指令类型可以对应不同的预测功耗信息,比如,乘法指令对应的功耗大于加法对应的功耗等。
在确定芯片的硬件结构之后,可以确定芯片中,每种指令类型对应的功耗先验值;比如针对每种指令类型,利用模拟工具模拟该硬件结构下的芯片执行指令类型的预设指令时所产生的功耗,重复多次,将多次得到的功耗求平均,得到该指令类型对应的功耗先验值。在确定了每种指令类型对应的功耗先验值之后,可以生成指令类型和功耗先验值之间的映射关系,比如映射关系可以包括乘法指令-功耗值1,加法指令-功耗值2,存储指令-功耗值3等等。以便针对待处理节点中的每条指令,基于该指令对应的指令类型、和生成的映射关系,确定指令对应的预测功耗信息。
将各条指令分别对应的预测功耗信息的和值,确定为待处理节点的预测功耗信息。比如,针对待处理节点N,若待处理节点N包括2条加法运算指令和1条乘法运算指令,单条加法运算指令对应的预测功耗信息为预测功耗信息1,单条乘法运算指令对应的预测功耗信息为预测功耗信息2,则待处理节点N的预测功耗信息为:2×预测功耗信息1+预测功耗信息2。
示例性的,可以根据下述公式确定待处理节点的预测功耗信息:
weight(N)=w(Ii)
其中,weight(N)为节点N的预测功耗信息,Ii为属于节点N的单条指令,其中i为小于或等于n的正整数,n为节点N包括的指令数量;w用于对单条指令进行功耗评估,可以为与芯片硬件相关的先验值。
上述实施方式中,基于待处理节点中每条指令对应的指令类型,确定每条指令对应的预测功耗信息,进而可以确定待处理节点的预测功耗信息,以便后续可以基于该待处理节点的预测功耗信息和功耗阈值,确定是否需要对芯片的功耗进行控制,即确定是否要在待处理节点之前插入控制节点。
在确定了待处理节点的预测功耗信息之后,可以判断待处理节点的预测功耗信息是否大于第一功耗阈值,若是,则在待处理节点之前插入控制节点,并更新控制流图,生成更新后的控制流图。若否,则无需插入控制节点,可直接执行待处理节点。
实施时,还可以设置第二功耗阈值,响应于待处理节点对应的预测功耗信息小于或等于第二功耗阈值,控制芯片执行待处理节点对应的指令。其中第二功耗阈值可以小于或等于第一功耗阈值。在第二功耗阈值小于第一功耗阈值时,若待处理节点的预测功耗信息大于第一功耗阈值,则可以在待处理节点之前插入控制节点;若待处理节点的预测功耗信息小于或等于第一功耗阈值,且大于第二功耗阈值时,则可以在待处理节点之前插入状态判断节点和控制节点;若待处理节点的预测功耗信息小于或等于第二功耗阈值,则无需在待处理节点之前插入任何节点,可以控制芯片执行待处理节点对应的指令。其中第一功耗阈值和第二功耗阈值可以根据芯片设计进行确定。
在S102中,基于控制流图中待处理节点对应的至少一条指令,确定待处理节点的预测功耗信息,可以包括:基于控制流图指示的执行顺序,确定当前待处理节点;基于当前待处理节点对应的至少一条指令,确定当前待处理节点的预测功耗信息。
基于控制流图指示的执行顺序,确定当前待处理节点。基于当前待处理节点对应的至少一条指令,确定当前待处理节点的预测功耗信息。比如,若控制流图中包括节点1、节点2、…节点M,按照执行顺序,依次将节点1、节点2、…节点M,作为当前待处理节点,其中,M为正整数。然后,可以根据上述步骤A1和步骤A2确定当前待处理节点的预测功耗信息,具体过程此处不再赘述。
在确定当前待处理节点的预测功耗信息之后,还包括:在当前待处理节点的预测功耗信息小于或等于第二功耗阈值的情况下,控制芯片执行当前待处理节点对应的指令。
具体实施时,在得到当前待处理节点的预测功耗信息之后,还可以将当前待处理节点的预测功耗信息与第一功耗阈值、第二功耗阈值作对比。在当前待处理节点的预测功耗信息小于或等于第二功耗阈值的情况下,表征芯片执行当前待处理节点对应的指令时功耗较低,芯片存在过热的可能性较低,故可以控制芯片直接执行当前待处理节点对应的指令。比如,当前待处理节点对应的指令可以包括加法运算指令,在当前待处理节点的预测功耗信息小于或等于第二功耗阈值的情况下,可以控制芯片继续执行该加法运算指令。
在当前待处理节点的预测功耗信息大于第一功耗阈值的情况下,表征芯片执行当前待处理节点对应的指令时功耗较高,芯片存在过热的可能性较高,故可以在待处理节点之前插入控制节点,对控制流图进行更新,生成更新后的控制流图。
在当前待处理节点的预测功耗信息小于或等于第一功耗阈值,且大于第二功耗阈值的情况下,可以在待处理节点之前插入控制节点和状态判断节点,对控制流图进行更新,生成更新后的控制流图。
一种可选的实施方式中,在待处理节点之前插入控制节点,对控制流图进行更新,生成更新后的控制流图,包括:在待处理节点之前插入状态判断节点和控制节点,对控制流图进行更新,生成更新后的控制流图,其中,状态判断节点对应的判断指令用于基于预设数值、和从存储器获取到的温度值,确定芯片对应的温度状态;温度值用于指示芯片对应的当前温度的取值。
可以在待处理节点之前插入状态判断节点和控制节点,对控制流图进行更新,生成更新后的控制流图,以便后续可以利用状态判断节点判断芯片的温度状态,比如该温度状态可以包括温度值小于预设数值、温度值大于或等于预设数值等。
一般的,芯片的存储器比如可以为特殊寄存器treg,特殊寄存器treg中可以实时存储与芯片对应的当前温度相关的温度值,比如,可以利用数字温度传感器对芯片的当前温度进行检测,将检测到的当前温度值进行数据格式转换后存储在特殊寄存器Treg中。
结合图2和图3进行示例性说明。图2中包括待处理节点、位于待处理节点之前的前驱节点、以及位于待处理节点之后的后继节点,前驱节点比如可以为位于待处理节点之前的、与待处理节点相关的至少一个节点,后继节点比如可以为位于待处理节点之后的、与待处理节点相关的至少一个节点。在待处理节点对应的预测功耗信息大于第一功耗阈值的情况下,可以在待处理节点之前插入状态判断节点和控制节点,对控制流图进行更新,生成更新后的控制流图,更新后的控制流图如图3所示。
这里,在待处理节点之前插入状态判断节点和控制节点,对控制流图进行更新,生成更新后的控制流图,以便可以先利用状态判断节点确定芯片当前温度是否较高,在当前温度较高时执行控制节点,能够较准确的为后续是否执行控制节点提供指示,在保障芯片安全运行的同时,提高芯片的执行效率。
实施时,在得到更新后的控制流图之后,方法还包括:基于更新后的控制流图,控制芯片执行状态判断节点对应的判断指令;响应于温度状态指示温度值小于预设数值,基于更新后的控制流图,控制芯片执行待处理节点对应的指令。
基于更新后的控制流图,控制芯片执行状态判断节点对应的判断指令,即基于预设数值、和从存储器中获取到的温度值,确定芯片对应的温度状态。其中,预设数值可以为温度阈值,或者也可以为与温度阈值相关的数值。在存储器如寄存器存储的是当前的温度值时,预设数值为温度阈值;在寄存器存储的是将当前的温度值进行数据格式转换后的数值时,预设数值为对温度阈值进行数据格式转换后的数值。
实施时,可以控制芯片执行状态判断节点对应的判断指令。即可以将获取到的寄存器的温度值与预设数值作对比,确定芯片对应的温度状态。响应于温度状态指示温度值小于预设数值,基于更新后的控制流图,控制芯片执行待处理节点对应的指令。
上述实施方式中,在温度状态指示温度值小于预设数值的情况下,基于更新后的控制流图,控制芯片执行待处理节点对应的指令,可以在待处理节点的预测功耗信息大于功耗阈值,而芯片不过热的情况下,使芯片继续以正常的运行频率工作,保证了芯片的计算效率。
所述方法还包括:响应于温度状态指示温度值大于或等于预设数值,基于更新后的控制流图,控制芯片执行控制节点对应的控制指令。在控制指令执行结束之后,控制芯片执行待处理节点对应的指令。
响应于温度状态指示温度值大于或等于预设数值,则确定芯片的当前温度值较高,存在过热风险,故可以基于更新后的控制流图,控制芯片先执行控制节点对应的控制指令,再执行待处理节点对应的指令。其中控制指令比如可以为特殊指令idle,该指令执行时芯片会降低运行频率。
如图3所示,根据更新后的控制流图,先执行状态判断节点,该状态判断节点确定芯片的温度状态。在温度状态指示当前温度大于或等于预设数值时,可以控制芯片先执行控制节点对应的控制指令,降低芯片的运行频率,再控制芯片执行待处理节点对应的指令。
上述实施方式中,在温度状态指示温度值大于或等于预设数值的情况下,基于更新后的控制流图,控制芯片先执行控制节点对应的控制指令,降低芯片的运行频率,即降低了芯片的功耗,再执行待处理节点对应的指令,可以在保障芯片不过热,使得芯片安全运行。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
基于同一技术构思,本公开实施例还提供了一种芯片,包括:存储器401和运算器402;
存储器401,用于存储运算器所需的各个指令。
运算器402,用于从存储器中获取各个指令,并按照上述实施方式所述的芯片运行的控制方法,执行各个指令,得到执行结果。
实施时,存储器可以存储运算单元所需的各个指令,比如逻辑运算指令、访存指令等。其中,在芯片为运行神经网络的人工智能芯片时,存储器还可以存储神经网络运行过程中所需的特征数据,比如输入特征数据、输出特征数据、权重特征数据等。
运算器能够从存储器中获取各个指令,并按照上述实施方式所述的芯片运行的控制方法,执行各个指令,得到执行结果。或者,运算器能够从存储器中获取各个指令和所需的特征数据,并按照上述实施方式所述的芯片运行的控制方法,执行各个指令,对获取的特征数据进行处理,得到执行结果。
这里,运算器可以按照上述实施方式所述的芯片运行的控制方法,执行各个指令,在指令各个指令时,能够从软件层面降低芯片的功耗,达到了控制芯片温度的目的,缓解了芯片的过热情况的发生,提高了芯片的安全性。
基于相同的构思,本公开实施例还提供了一种芯片运行的控制装置,参见图5所示,为本公开实施例提供的一种芯片运行的控制装置的架构示意图,包括获取模块501、确定模块502、更新模块503,具体的:
获取模块501,用于获取芯片按照执行指令编译内核时生成的控制流图;
确定模块502,用于基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息;
更新模块503,用于响应于所述待处理节点对应的所述预测功耗信息大于第一功耗阈值,在所述待处理节点之前插入控制节点,并更新所述控制流图,生成更新后的控制流图,其中,所述控制节点对应的控制指令用于降低芯片的运行频率。
一种可能的实施方式中,更新模块503还用于:响应于所述待处理节点对应的所述预测功耗信息小于或等于第二功耗阈值,控制所述芯片执行所述待处理节点对应的指令。
一种可能的实施方式中,所述更新模块503,在所述待处理节点之前插入控制节点,对所述控制流图进行更新,生成更新后的控制流图时,用于:
在所述待处理节点之前插入状态判断节点和控制节点,对所述控制流图进行更新,生成更新后的控制流图;其中,所述状态判断节点对应的判断指令用于基于预设数值、和从存储器获取到的温度值,确定所述芯片对应的温度状态;所述温度值用于指示芯片对应的当前温度的取值。
一种可能的实施方式中,所述更新模块503,还用于:
基于所述更新后的控制流图,控制所述芯片执行所述状态判断节点对应的判断指令;
响应于所述温度状态指示所述温度值小于预设数值,基于更新后的控制流图,控制所述芯片执行所述待处理节点对应的指令。
一种可能的实施方式中,所述更新模块503,还用于:
响应于所述温度状态指示所述温度值大于或等于预设数值,基于更新后的控制流图,控制所述芯片执行所述控制节点对应的控制指令;
在所述控制指令执行结束之后,控制所述芯片执行所述待处理节点对应的指令。
一种可能的实施方式中,所述确定模块502,在基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息时,用于
针对所述待处理节点中的每条指令,基于所述指令对应的指令类型,确定所述指令对应的预测功耗信息;
将各条指令分别对应的预测功耗信息的和值,确定为所述待处理节点的预测功耗信息。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模板可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
基于同一技术构思,本公开实施例还提供了一种电子设备。参照图6所示,为本公开实施例提供的电子设备的结构示意图,包括处理器601、存储器602、和总线603。其中,存储器602用于存储执行指令,包括内存6021和外部存储器6022;这里的内存6021也称内存储器,用于暂时存放处理器601中的运算数据,以及与硬盘等外部存储器6022交换的数据,处理器601通过内存6021与外部存储器6022进行数据交换,当电子设备600运行时,处理器601与存储器602之间通过总线603通信,使得处理器601在执行以下指令:
获取芯片按照执行指令编译内核时生成的控制流图;
基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息;
响应于所述待处理节点对应的所述预测功耗信息大于第一功耗阈值,在所述待处理节点之前插入控制节点,并更新所述控制流图,生成更新后的控制流图,其中,所述控制节点对应的控制指令用于降低芯片的运行频率。
其中,处理器601的具体处理流程可以参照上述方法实施例的记载,这里不再赘述。
此外,本公开实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述方法实施例中所述的芯片运行的控制方法的步骤。其中,该存储介质可以是易失性或非易失的计算机可读取存储介质。
本公开实施例还提供一种计算机程序产品,该计算机程序产品承载有程序代码,所述程序代码包括的指令可用于执行上述方法实施例中所述的芯片运行的控制方法的步骤,具体可参见上述方法实施例,在此不再赘述。
其中,上述计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种芯片运行的控制方法,其特征在于,包括:
获取芯片按照执行指令编译内核时生成的控制流图;
基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息;
响应于所述待处理节点对应的所述预测功耗信息大于第一功耗阈值,在所述待处理节点之前插入控制节点,并更新所述控制流图,生成更新后的控制流图,其中,所述控制节点对应的控制指令用于降低芯片的运行频率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于所述待处理节点对应的所述预测功耗信息小于或等于第二功耗阈值,控制所述芯片执行所述待处理节点对应的指令,其中所述第一功耗阈值大于或等于所述第二功耗阈值。
3.根据权利要求1或2所述的方法,其特征在于,所述在所述待处理节点之前插入控制节点,对所述控制流图进行更新,生成更新后的控制流图,包括:
在所述待处理节点之前插入状态判断节点和控制节点,对所述控制流图进行更新,生成更新后的控制流图;其中,所述状态判断节点对应的判断指令用于基于预设数值、和从存储器获取到的温度值,确定所述芯片对应的温度状态;所述温度值用于指示芯片对应的当前温度的取值。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
基于所述更新后的控制流图,控制所述芯片执行所述状态判断节点对应的判断指令;
响应于所述温度状态指示所述温度值小于预设数值,基于更新后的控制流图,控制所述芯片执行所述待处理节点对应的指令。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
响应于所述温度状态指示所述温度值大于或等于预设数值,基于更新后的控制流图,控制所述芯片执行所述控制节点对应的控制指令;
在所述控制指令执行结束之后,控制所述芯片执行所述待处理节点对应的指令。
6.根据权利要求1-5任一所述的方法,其特征在于,所述基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息,包括:
针对所述待处理节点中的每条指令,基于所述指令对应的指令类型,确定所述指令对应的预测功耗信息;
将各条指令分别对应的预测功耗信息的和值,确定为所述待处理节点的预测功耗信息。
7.一种芯片,其特征在于,包括:存储器和运算器;
所述存储器,用于存储所述运算器所需的各个指令;
所述运算器,用于从所述存储器中获取所述各个指令,并按照权利要求1至6任一所述的芯片运行的控制方法,执行所述各个指令,得到执行结果。
8.一种芯片运行的控制装置,其特征在于,包括:
获取模块,用于获取芯片按照执行指令编译内核时生成的控制流图;
确定模块,用于基于所述控制流图中待处理节点对应的至少一条指令,确定所述待处理节点的预测功耗信息;
更新模块,用于响应于所述待处理节点对应的所述预测功耗信息大于第一功耗阈值,在所述待处理节点之前插入控制节点,并更新所述控制流图,生成更新后的控制流图,其中,所述控制节点对应的控制指令用于降低芯片的运行频率。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如权利要求1至6任一所述的芯片运行的控制方法的步骤。或者,如权利要求7所述的芯片。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至6任一所述的芯片运行的控制方法的步骤。
CN202310933303.8A 2023-07-26 2023-07-26 芯片运行的控制方法、装置、电子设备、存储介质及芯片 Pending CN116909379A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310933303.8A CN116909379A (zh) 2023-07-26 2023-07-26 芯片运行的控制方法、装置、电子设备、存储介质及芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310933303.8A CN116909379A (zh) 2023-07-26 2023-07-26 芯片运行的控制方法、装置、电子设备、存储介质及芯片

Publications (1)

Publication Number Publication Date
CN116909379A true CN116909379A (zh) 2023-10-20

Family

ID=88367808

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310933303.8A Pending CN116909379A (zh) 2023-07-26 2023-07-26 芯片运行的控制方法、装置、电子设备、存储介质及芯片

Country Status (1)

Country Link
CN (1) CN116909379A (zh)

Similar Documents

Publication Publication Date Title
CN109117595B (zh) 一种热负荷预测方法、装置、可读介质及电子设备
JP2003029627A (ja) Rsa符号化方法
KR102211011B1 (ko) 동적 가변 정밀도 계산
CN108255673B (zh) 应用程序占用资源的检测方法、装置和存储介质
CN113177225B (zh) 基于区块链的数据存储证明方法、装置、设备和存储介质
CN111708513B (zh) 一种伪随机数种子生成方法及相关产品
JP2021022373A (ja) 負荷を均衡化するための方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム
CN107390852B (zh) 一种控制方法、电子设备及计算机可读存储介质
CN100454259C (zh) 用于保留部分冗余移去的运行时间行为的方法和系统
CN111143777A (zh) 一种数据处理方法、装置、智能终端及存储介质
CN116909379A (zh) 芯片运行的控制方法、装置、电子设备、存储介质及芯片
CN108182358B (zh) 文件保护方法、装置、计算设备及计算机存储介质
JP5971214B2 (ja) データ処理装置及びデータ処理プログラム
CN109241784A (zh) 一种ssd的国密sm2签名验证方法及系统
EP3935539A1 (en) Security-adaptive code execution
CN108021790B (zh) 文件保护方法、装置、计算设备及计算机存储介质
JP6173571B2 (ja) 回路設計装置および回路設計プログラム
EP3861469B1 (en) Device and method for validation of virtual function pointers
CN113093639B (zh) 可编程逻辑器件的功率控制方法、装置及电子设备
CN111192061A (zh) 基于二进制位设计的判断客户参加促销活动的方法、装置
CN112462922B (zh) 一种风扇节能控制方法、系统、终端及存储介质
US20150169301A1 (en) Program specification estimation device, method of the same, and non-transitory computer readable medium
CN118033381B (zh) 一种芯片负载检测方法及电路
CN117910996A (zh) 一种考勤方法、装置、电子设备及存储介质
JPH09160796A (ja) 電子計算機の異常発熱検出方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination