CN110413414A - 用于平衡负载的方法、装置、设备和计算机可读存储介质 - Google Patents
用于平衡负载的方法、装置、设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110413414A CN110413414A CN201910690754.7A CN201910690754A CN110413414A CN 110413414 A CN110413414 A CN 110413414A CN 201910690754 A CN201910690754 A CN 201910690754A CN 110413414 A CN110413414 A CN 110413414A
- Authority
- CN
- China
- Prior art keywords
- data processing
- processing unit
- data
- metric
- group
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/08—Clock generators with changeable or programmable clock frequency
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3243—Power saving in microcontroller unit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
- Advance Control (AREA)
- Multi Processors (AREA)
- Microcomputers (AREA)
Abstract
本公开的实施例涉及用于平衡负载的方法、装置、设备和计算机可读存储介质。该方法包括:针对数据处理系统内的一组数据处理单元中的每个数据处理单元,获取在当前时钟周期中用于所述数据处理单元的当前输入数据和在下一时钟周期中用于所述数据处理单元的下一输入数据;以及基于所述当前输入数据和所述下一输入数据的比较,确定指示所述下一时钟周期中所述数据处理单元的输入数据变化的第一度量值。该方法还包括:基于针对所述一组数据处理单元确定的所述第一度量值,控制所述一组数据处理单元在所述下一时钟周期中的操作状态。由此可以动态调节数据处理系统中的负载,降低瞬时大电流和瞬时高功耗。
Description
技术领域
本公开的实施例涉及计算机领域,更具体地涉及用于平衡负载的方法、装置、电子设备和计算机可读存储介质。
背景技术
人工智能(AI)芯片被专门用于处理AI应用中的大量计算任务。因此,AI芯片是一个计算密集型芯片,其计算力很强并且面积非常大。通常,在训练和推理的应用中很容易出现上亿个晶体管同一时刻从空闲到激活的跳变,芯片瞬时功耗极大,这会导致在这该时刻对芯片的供电造成极大挑战。很容易出现瞬时电压下降,严重时导致整个芯片内部逻辑混乱,无法正常工作。反之,当大量晶体管从激活同时跳变到空闲时,则出现电压瞬时过冲,也会对供电网络造成损害。这些问题很难通过后续的软件优化来解决,并且已经逐步成为大面积、高功耗芯片中的非常严重的问题。
发明内容
根据本公开的示例实施例,提供了用于平衡负载以降低瞬时功耗的改进方案。
在本公开的第一方面中,提供了一种用于平衡负载的方法。该方法包括:针对数据处理系统内的一组数据处理单元中的每个数据处理单元,获取在当前时钟周期中用于所述数据处理单元的当前输入数据和在下一时钟周期中用于所述数据处理单元的下一输入数据;以及基于所述当前输入数据和所述下一输入数据的比较,确定指示所述下一时钟周期中所述数据处理单元的输入数据变化的第一度量值;以及基于针对所述一组数据处理单元确定的所述第一度量值,控制所述一组数据处理单元在所述下一时钟周期中的操作状态。
在本公开的第二方面中,提供了一种用于平衡负载的装置。该装置包括:获取单元,被配置用于针对数据处理系统内的一组数据处理单元中的每个数据处理单元,获取在当前时钟周期中用于所述数据处理单元的当前输入数据和在下一时钟周期中用于所述数据处理单元的下一输入数据;确定单元,被配置用于针对所述一组数据处理单元中的每个数据处理单元,基于所述当前输入数据和所述下一输入数据的比较,确定指示所述下一时钟周期中所述数据处理单元的输入数据变化的第一度量值;以及控制单元,被配置用于基于针对所述一组数据处理单元确定的所述第一度量值,控制所述一组数据处理单元在所述下一时钟周期中的操作状态。
在本公开的第三方面中,提供了一种电子设备。该电子设备包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现根据本公开的第一方面的方法。
在本公开的第四方面中,提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开的第一方面的方法。
应当理解,发明内容部分中所描述的内容并非旨在限定本公开的实施例的关键或重要特征,亦非用于限制本公开的范围。本公开的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素,其中:
图1示出了本公开实施例可以在其中实施的示例数据处理系统的示意图;
图2示出了根据本公开实施例的用于平衡负载的构思的示意图;
图3示出了根据本公开实施例的用于平衡负载的方法的流程图;
图4示出了根据本公开实施例的对于图2所示的统计和控制单元的示例性实施的示意图;
图5示出了根据本公开一个实施例的用于控制数据处理单元的操作状态的方法的流程图;
图6示出了根据本公开另一实施例的用于控制数据处理单元的操作状态的方法的流程图;
图7示出了根据本公开又一实施例的用于控制数据处理单元的操作状态的方法的流程图;
图8示出了根据本公开实施例的用于平衡负载的装置的示意框图;以及
图9示出了可以实施本公开实施例的计算设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
在本公开的实施例的描述中,术语“包括”及其类似用语应当理解为开放性包含,即“包括但不限于”。术语“基于”应当理解为“至少部分地基于”。术语“一个实施例”或“该实施例”应当理解为“至少一个实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。在本公开的实施例的描述中,“芯片”、“片上系统”、“集成电路”三者可互换使用。
以下将参照附图来具体描述本公开的实施例。
图1示出了本公开的实施例可以在其中实施的示例数据处理系统100的示意图。根据本公开的一些实施例,数据处理系统100可以是片上系统。根据本公开的一些实施例,数据处理系统100可以是AI芯片。例如,用于执行与推理、训练等有关的数据计算和存储。在一些备选实施例中,数据处理系统100可以是AI芯片以外的其它芯片。例如,本公开的实施例尤其适用于具有大面积和高功耗的用于数据处理的芯片。
如图1所示,数据处理系统100可以包括若干数据处理单元120。尽管在图中示出4个数据处理单元120,但应理解到,数据处理单元120的数目并不限于此,而是可以为更多或更少的任意数目。
根据本公开的一些实施例,这些数据处理单元120可以具有相同的数据处理功能。例如,数据处理单元120可以均为用于执行乘加器(MAC)运算的MAC单元,并且形成MAC单元阵列。在一些备选实施例中,这些数据处理单元120可以具有不同的数据处理功能。例如,一些数据处理单元120可以是MAC单元,而另一些数据处理单元120可以是执行MAC运算以外的其它数据处理功能的单元。应理解到,上述MAC仅为示例,数据处理单元120可以是用于实施本领域已知或未来开发的任何合适数据处理功能的数据处理单元,本申请对此不作任何限制。
当在工作中这些数据处理单元120中的大量晶体管同一时刻从空闲到激活或从激活到空闲的跳变时,数据处理系统100中的瞬时功耗会极大,导致在这该时刻对数据处理系统100的供电造成极大损害。
在一些已有方案中,通过增强供电网络、在封装内部和印刷电路板(PCB)上使用更多的超大电容来减缓瞬间高功耗的影响。然而,高密度电容的成本很高,并且影响最终封装和PCB大小。另外,受制于封装和PCB空间的限制,电容不可能无限制增加。仿真表明,当电容增加到一定程度,即使再增加电容也无法进一步改善瞬间大电流的问题。
在另一些已有方案中,采用脉动阵列来达到逐步启动和逐步结束的效果,减少出现瞬间高功耗的情况。然而,脉动阵列仅能够有效减缓启动和结束时刻的瞬间电流,而无法避免芯片运行过程中出现的瞬间大电流。此外,还会增加整个阵列的延迟。
鉴于此,本发明人提出在芯片设计之初就考虑对瞬时功耗的控制,通过一系列的反馈机制,自动预测并提前调节瞬时功耗,从而有效地控制电压瞬时变化。下面结合图2进行详细说明。
图2示出了根据本公开实施例的用于平衡负载的构思的示意图200。为了方便起见,下面将结合图1的数据处理系统100进行描述。根据本公开的一些实施例,数据处理单元120可以具有一组输入数据。在一些备选实施例中,数据处理单元120可以具有两组或更多组输入数据。如图2所示,数据处理单元120可以从X输入数据寄存器210和Y输入数据单元220分别获取X输入数据和Y输入数据。作为示例,在图2中仅示出了针对X输入数据的获取。
根据本公开的实施例,统计和控制单元230可以监测各个数据处理单元120在当前时钟周期和下一时钟周期之间的输入数据的变化(例如图2中的toggle s0~sn所示),并且根据该变化来确定整个芯片100在下一时钟周期的负载情况。继而,根据负载情况来控制各个数据处理单元120在下一时钟周期的操作状态(例如通过图2中所示的时钟控制信号gate_en和数据流控制信号flow_ctrl,为了简洁起见,这里仅针对一个数据处理单元120示出了gate_en,但实际上,每个数据处理单元120都可以由gate_en控制。并且,这里仅针对X输入数据寄存器210示出了flow_ctrl,但实际上,Y输入数据寄存器220的操作也可以由flow_ctrl控制),从而调节负载以降低瞬时高功耗。
根据本公开的实施例,统计和控制单元230可以通过软件、硬件、固件或其任意组合的形式来实施。下面结合图3至图7进行更详细描述。
图3示出了根据本公开实施例的用于平衡负载的方法300的流程图。为了方便起见,下面将结合图1和图2的环境进行描述。该方法300可以在任意数据处理系统(例如图1的数据处理系统100)中实施,例如在图2的统计和控制单元230处实施。
如图3所示,在框310,针对数据处理系统100内的一组数据处理单元120中的每个数据处理单元,获取在当前时钟周期中用于该数据处理单元的当前输入数据和在下一时钟周期中用于该数据处理单元的下一输入数据。根据本公开的一些实施例,该组数据处理单元120可以是数据处理系统100中的一部分数据处理单元120。在一些备选实施例中,该组数据处理单元120可以是数据处理系统100中的全部数据处理单元120。
在其中数据处理单元120具有多组输入数据的实施例中,可以从该数据处理单元120的多组输入数据(例如图2所示的X输入数据和Y输入数据)中选择至少一组输入数据(例如图2所示的X输入数据)。在一些实施例中,可以随机选择该至少一组输入数据。在一些实施例中,可以根据需要来选择该至少一组输入数据。继而,针对该至少一组输入数据中的每组输入数据分别执行当前输入数据和下一输入数据的获取操作。
根据本公开的一些实施例,可以在用于数据处理单元120的输入数据寄存器210或220的输出处获取当前输入数据,以及在输入数据寄存器210或220的输入处获取下一输入数据。应理解到,也可以通过其它任意合适方式来获取当前输入数据和下一输入数据,本申请对此不作特别限制。
在框320,基于对当前输入数据和下一输入数据的比较,确定指示下一时钟周期中该数据处理单元120的输入数据变化的第一度量值。根据本公开的一些实施例,可以将当前输入数据和下一输入数据逐比特地进行比较,以统计比特翻转情况。例如,在一些实施例中,可以确定比特翻转率作为第一度量值。在一些备选实施例中,可以确定比特未翻转率作为第一度量值。应理解到,本公开的实施例并不限于上述比特翻转情况的统计,也可以通过其它任意合适方式来确定第一度量值,以指示下一时钟周期中数据处理单元的输入数据的变化。
下面结合图4描述关于确定比特翻转率作为第一度量值的一种示例性实施。图4示出了根据本公开实施例的对于图2所示的统计和控制单元230的示例性实施的示意图400。如图4所示,通过模块420可以实现比特翻转率的确定。
在本实施例中,可以通过监测X输入数据寄存器210的输出和输入,分别获取在当前时钟周期中用于数据处理单元120的当前输入数据和在下一时钟周期中用于数据处理单元120的下一输入数据。通过异或电路(XOR)421-0至420-n将当前输入数据和下一输入数据的对应n个比特分别进行异或运算(n为正整数),从而得到n个运算结果toggle_0至toggle_n。继而,通过求和电路(SUM)422对n个运算结果toggle_0至toggle_n进行求和,从而得到该数据处理单元120在下一时钟周期中的比特翻转率toggle_s。
根据本公开的实施例,可以针对每个数据处理单元120设置模块420以确定相应的比特翻转率(如图2中的toggle_s0~sn所示)。应理解到,图4所示的模块420的实施仅为示例,而不对本申请构成任何限制。可以通过其它任意合适方式来实施该比特翻转率的确定。
在针对该组数据处理单元120确定了第一度量值(例如toggle_s0~sn)之后,返回图3,在框330,基于针对该组数据处理单元120确定的第一度量值,控制各个数据处理单元120在下一时钟周期中的操作状态。由此,可以基于实际数据情况,动态控制数据处理系统100中的数据处理单元120的输入数据变化,从而达到动态平衡瞬时大电流并且降低瞬时功耗的效果。
下面结合图5至图7描述基于第一度量值对数据处理单元进行控制的示例性实施。图5示出了根据本公开一个实施例的用于控制数据处理单元的操作状态的方法500的流程图。该方法500可以在图2的统计和控制单元230处实施。
如图5所示,在框510,可以基于针对该组数据处理单元120确定的第一度量值,来确定指示下一时钟周期中的负载的第一总度量值。根据本公开的一些实施例,可以通过对该组数据处理单元120中的每个数据处理单元对应的第一度量值求和,来确定第一总度量值。例如,在第一度量值是比特翻转率的情况下,第一总度量值可以是总比特翻转率。
应理解到,也可以使用其它合适方式来基于第一度量值确定第一总度量值。例如,根据本公开的一些备选实施例,可以针对该组数据处理单元120中的每个数据处理单元确定权重,并基于权重,对该组数据处理单元120中的每个数据处理单元对应的第一度量值进行加权求和,从而确定第一总度量值。在一些实施例中,例如,可以根据数据处理单元的功能来确定权重。在一些备选实施例中,例如,可以根据数据处理单元的处理能力来确定权重。应理解到,还可以通过其它任意合适方式来确定权重。
对于某些总功耗有限制的应用场景中,例如推理的应用场景,通常总功耗需要控制在75W以下。由于总度量值会影响芯片的总功耗,因此在这种应用场景中可以针对总度量值设置一个阈值。
在框520,确定第一总度量值是否超过第一阈值。根据本公开的一些实施例,第一阈值可以是动态设置的。例如,在一些实施例中,第一阈值可以由数据处理系统100配置。在一些实施例中,第一阈值可以是根据经验而人工选择的。在一些备选实施例中,第一阈值可以是预先确定的。
如果在框520确定第一总度量值超过第一阈值,则进入框530,在下一时钟周期中禁用该组数据处理单元120中的至少一部分。如果在框520确定第一总度量值低于第一阈值,则进入框540,在下一时钟周期中启用该组数据处理单元120中的至少一部分。根据本公开的一些实施例,可以从该组数据处理单元120中随机确定该至少一部分数据处理单元120。根据本公开的一些备选实施例,可以基于第一度量值与预定阈值的比较来确定该至少一部分数据处理单元120(例如通过稍后结合图6描述的方式)。
在一些实施例中,可以通过门控电路来实现数据处理单元120的启用和禁用。例如,参考图4,可以针对每个数据处理单元120设置模块410。模块410可以包括锁存器411和与电路(AND)412。门控信号gate_en和低电平有效的时钟(CLK)信号可以被输入到锁存器411。锁存器411的输入连接至AND 412的一个输入,并且AND 412的另一个输入接收CLK信号。AND 412的输出连接至用于数据处理单元120的X输入数据寄存器210和Y输入数据寄存器220。
当需要禁用数据处理单元120时,统计和控制单元230可以输出低电平的gate_en以及低电平的flow_ctrl(如图2所示)。当CLK信号的下一时钟周期到来时,AND 412的输出为低电平。此时,X输入数据寄存器210和Y输入数据寄存器220不工作,即,在该时钟周期中将不向数据处理单元120供给数据,从而该数据处理单元120处于禁用状态。与此同时,针对X输入数据寄存器210和Y输入数据寄存器220的数据更新也被暂停。
当需要启用数据处理单元120时,统计和控制单元230可以输出高电平的gate_en以及高电平的flow_ctrl。当CLK信号的下一时钟周期到来时,AND 412的输出为高电平。此时,在该时钟周期中X输入数据寄存器210和Y输入数据寄存器220的数据被更新,并且X输入数据寄存器210和Y输入数据寄存器220将更新的数据供给到数据处理单元120,从而该数据处理单元120处于启用状态。
在本示例中,可以通过硬件自动执行度量值(例如比特翻转率)的统计和控制,因此动态控制速度是纳秒级别。应理解到,上述结合图4所示的模块410所述的实施方式仅为示例,本申请并不限于此,而是可以通过其它任意合适方式来实现对数据处理单元的操作状态的控制。通过图5的实施例,除了解决瞬时大电流的问题,还能同时实现总功耗的控制功能。
图6示出了根据本公开另一实施例的用于控制数据处理单元的操作状态的方法600的流程图。该方法600可以在图2的统计和控制单元230处实施。在本实施例中,针对该组数据处理单元120中的每个数据处理单元执行操作。如图6所示,在框610,确定该数据处理单元的第一度量值是否超过第二阈值。根据本公开的一些实施例,第二阈值可以是动态设置的。例如,在一些实施例中,第二阈值可以由数据处理系统100配置。在一些实施例中,第二阈值可以是根据经验而人工选择的。在一些备选实施例中,第二阈值可以是预先确定的。
如果在框610确定该数据处理单元的第一总度量值超过第二阈值,则进入框620,在下一时钟周期中禁用该数据处理单元。如果在框610确定第一总度量值低于第二阈值,则进入框630,在下一时钟周期中启用该数据处理单元。数据处理单元的禁用和启用的实施类似于前面结合图5的相关描述,这里不再赘述。
图7示出了根据本公开另一实施例的用于控制数据处理单元的操作状态的方法700的流程图。该方法700可以在图2的统计和控制单元230处实施。
如图7所示,在框710,可以基于针对该组数据处理单元120确定的第一度量值,来确定指示下一时钟周期中的负载的第一总度量值。该框710的处理类似于前面结合图5的框510所述的处理,这里不再赘述。
在框720,可以基于该组数据处理单元120的先前时钟周期中的先前输入数据和当前时钟周期中的当前输入数据,确定用于指示当前时钟周期中的负载的第二总度量值。根据本公开的一些实施例,可以针对该组数据处理单元120中的每个数据处理单元,获取用于该数据处理单元的先前时钟周期中的先前输入数据,并且基于先前输入数据与当前输入数据的比较,确定指示当前时钟周期中该数据处理单元的输入数据变化的第二度量值。继而,基于针对该组数据处理单元确定的第二度量值,确定第二总度量值。第二总度量值的确定方式与第一总度量值的确定方式类似,其它细节可参见前面结合图5的框510所述的相关处理,这里不再赘述。
在框730,确定第一总度量值和第二总度量值之差的绝对值是否超过第三阈值。根据本公开的一些实施例,第三阈值可以是动态设置的。例如,在一些实施例中,第三阈值可以由数据处理系统100配置。在一些实施例中,第三阈值可以是根据经验而人工选择的。在一些备选实施例中,第三阈值可以是预先确定的。
如果在框730确定第一总度量值和第二总度量值之差的绝对值超过第三阈值,则进入框740,在下一时钟周期中禁用该组数据处理单元120中的至少一部分。如果在框730确定第一总度量值和第二总度量值之差的绝对值低于第三阈值,则进入框750,在下一时钟周期中启用该组数据处理单元120中的至少一部分。根据本公开的一些实施例,可以从该组数据处理单元120中随机确定该至少一部分数据处理单元120。根据本公开的一些备选实施例,可以基于第一度量值与预定阈值的比较来确定该至少一部分数据处理单元120(例如通过结合图6描述的方式)。另外,数据处理单元的禁用和启用的实施类似于前面结合图5的相关描述,这里不再赘述。
应理解到,图5至图7描述的实施例可以单独或以任何方式结合使用。另外,可以选择多个时钟周期来完成对数据处理单元120的控制。通过在不同时钟周期打开不同的数据处理单元,可以实现将瞬时大电流分摊到多个时钟周期。此外,可以根据实际需求动态调节,并且在动态调节结束后释放时钟控制信号gate_en和数据流控制信号flow_ctrl,以恢复到正常模式。
由此可见,根据本公开实施例的控制负载的方式十分灵活,可以根据实际情况来动态、多维度地调节负载,从而可以满足各种应用场景的需求。此外,通过简单的门控时钟方式控制电路的翻转率,解决了瞬时大电流、高功耗的问题,而没有增加封装和PCB成本。并且,整个控制需要的控制逻辑比较小,由此导致的芯片面积增加几乎可以忽略。
本公开实施例还提供了用于实现上述方法或过程的相应装置。图8示出了根据本公开实施例的用于平衡负载的装置800的示意性框图。该装置800可以在例如图1的数据处理系统100处实施。如图8所示,装置800可以包括获取单元810、确定单元820和控制单元830。
在一些实施例中,获取单元810可以被配置用于针对数据处理系统(例如图1的数据处理系统100)内的一组数据处理单元(例如图1的数据处理单元120)中的每个数据处理单元,获取在当前时钟周期中用于该数据处理单元的当前输入数据和在下一时钟周期中用于该数据处理单元的下一输入数据。确定单元820可以被配置用于针对该组数据处理单元120中的每个数据处理单元,基于当前输入数据和下一输入数据的比较,确定指示下一时钟周期中该数据处理单元的输入数据变化的第一度量值。控制单元830可以被配置用于基于针对该组数据处理单元确定的第一度量值,控制该组数据处理单元在下一时钟周期中的操作状态。
在一些实施例中,获取单元810可以包括:选择单元,被配置用于从用于该数据处理单元的多组输入数据中选择至少一组输入数据;以及执行单元,被配置用于针对该至少一组输入数据中的每组输入数据分别执行所述获取。在一些实施例中,当前输入数据是在用于该数据处理单元的输入数据寄存器(例如图2的X输入数据寄存器210)的输出处的数据,并且下一输入数据是在该输入数据寄存器的输入处的数据。
在一些实施例中,确定单元820可以包括:异或单元,被配置用于将当前输入数据和下一输入数据的对应比特进行异或运算;以及第一度量值确定单元,被配置用于基于对应比特的异或运算的结果,确定第一度量值。
在一些实施例中,控制单元830可以包括:第一确定单元,被配置用于基于该组数据处理单元120中的每个数据处理单元的第一度量值来确定指示下一时钟周期中的负载的第一总度量值;以及第一禁用和启用单元,被配置用于响应于第一总度量值超过第一阈值,在下一时钟周期中禁用该组数据处理单元120中的至少一部分,并且响应于第一总度量值低于第一阈值,在下一时钟周期中启用该组数据处理单元120中的至少一部分。
在一些备选实施例中,控制单元830可以包括:第二禁用和启用单元,被配置用于响应于该组数据处理单元120中的一个数据处理单元的第一度量值超过第二阈值,在下一时钟周期中禁用该数据处理单元,并且响应于该数据处理单元的第一度量值低于第二阈值,在下一时钟周期中启用该数据处理单元。
在一些备选实施例中,控制单元830可以包括:第一确定单元,被配置用于基于针对该组数据处理单元120确定的第一度量值,确定用于指示下一时钟周期中的负载的第一总度量值;第二确定单元,被配置用于基于该组数据处理单元120的先前时钟周期中的先前输入数据和当前时钟周期中的当前输入数据,确定用于指示当前时钟周期中的负载的第二总度量值;以及第三禁用和启用单元,被配置用于响应于第一总度量值与第二总度量值之差的绝对值超过第三阈值,在下一时钟周期中禁用该组数据处理单元120中的至少一部分,并且响应于第一总度量值与第二总度量值之差的绝对值低于第三阈值,在下一时钟周期中启用该组数据处理单元120中的至少一部分。
在一些实施例中,第二确定单元包括:数据获取单元,被配置用于针对该组数据处理单元120中的每个数据处理单元,获取用于该数据处理单元的先前时钟周期中的先前输入数据;第二度量值确定单元,被配置用于基于先前输入数据与当前输入数据的比较,确定指示当前时钟周期中该数据处理单元的输入数据变化的第二度量值;以及第二总度量值确定单元,被配置用于基于针对该组数据处理单元120确定的第二度量值,确定第二总度量值。
应当理解,装置800中记载的每个单元分别与参考图2至图7描述的方法300-700中的每个步骤相对应。并且,装置800及其中包含的单元的操作和特征都对应于上文结合图2至图7描述的操作和特征,并且具有同样的效果,具体细节不再赘述。
装置800中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一些实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,装置800中的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
图8中所示的这些单元可以部分或者全部地实现为硬件模块、软件模块、固件模块或者其任意组合。特别地,在某些实施例中,上文描述的流程、方法或过程可以由存储系统或与存储系统对应的主机或独立于存储系统的其它计算设备中的硬件来实现。
图9示出了可以用来实施本公开实施例的示例性计算设备900的示意性框图。设备900可以用于实现图1的数据处理系统100。如图所示,设备900包括中央处理单元(CPU)901,其可以根据存储在只读存储器(ROM)902中的计算机程序指令或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序指令,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。CPU 901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
设备900中的多个部件连接至I/O接口905,包括:输入单元906,例如键盘、鼠标等;输出单元907,例如各种类型的显示器、扬声器等;存储单元908,例如磁盘、光盘等;以及通信单元909,例如网卡、调制解调器、无线通信收发机等。通信单元909允许设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元901执行上文所描述的各个方法和处理,例如方法300、500、600和700。例如,在一些实施例中,方法300、500、600和700可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到设备900上。当计算机程序加载到RAM903并由CPU 901执行时,可以执行上文描述的方法300、500、600和700的一个或多个步骤。备选地,在其他实施例中,CPU 901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行方法300、500、600和700。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
此外,虽然采用特定次序描绘了各操作,但是这应当理解为要求这样操作以所示出的特定次序或以顺序次序执行,或者要求所有图示的操作应被执行以取得期望的结果。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实现中。相反地,在单个实现的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实现中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (18)
1.一种用于平衡负载的方法,包括:
针对数据处理系统内的一组数据处理单元中的每个数据处理单元,
获取在当前时钟周期中用于所述数据处理单元的当前输入数据和在下一时钟周期中用于所述数据处理单元的下一输入数据;以及
基于所述当前输入数据和所述下一输入数据的比较,确定指示所述下一时钟周期中所述数据处理单元的输入数据变化的第一度量值;以及
基于针对所述一组数据处理单元确定的所述第一度量值,控制所述一组数据处理单元在所述下一时钟周期中的操作状态。
2.根据权利要求1所述的方法,其中获取所述当前输入数据和下一输入数据包括:
从用于所述数据处理单元的多组输入数据中选择至少一组输入数据;以及
针对所述至少一组输入数据中的每组输入数据分别执行所述获取。
3.根据权利要求1所述的方法,其中所述当前输入数据是在用于所述数据处理单元的输入数据寄存器的输出处的数据,并且所述下一输入数据是在所述输入数据寄存器的输入处的数据。
4.根据权利要求1所述的方法,其中确定所述第一度量值包括:
将所述当前输入数据和所述下一输入数据的对应比特进行异或运算;以及
基于所述对应比特的所述异或运算的结果,确定所述第一度量值。
5.根据权利要求1所述的方法,其中控制所述一组数据处理单元的操作状态包括:
基于所述一组数据处理单元中的每个数据处理单元的所述第一度量值,确定指示所述下一时钟周期中的负载的第一总度量值;
响应于所述第一总度量值超过第一阈值,在所述下一时钟周期中禁用所述一组数据处理单元中的至少一部分;以及
响应于所述第一总度量值低于所述第一阈值,在所述下一时钟周期中启用所述一组数据处理单元中的至少一部分。
6.根据权利要求1所述的方法,其中控制所述一组数据处理单元的操作状态包括:
响应于所述一组数据处理单元中的一个数据处理单元的所述第一度量值超过第二阈值,在所述下一时钟周期中禁用所述一个数据处理单元;以及
响应于所述一组数据处理单元中的所述一个数据处理单元的所述第一度量值低于所述第二阈值,在所述下一时钟周期中启用所述一个数据处理单元。
7.根据权利要求1所述的方法,其中控制所述一组数据处理单元的操作状态包括:
基于针对所述一组数据处理单元确定的所述第一度量值,确定用于指示所述下一时钟周期中的负载的第一总度量值;
基于所述一组数据处理单元的先前时钟周期中的先前输入数据和所述当前时钟周期中的所述当前输入数据,确定用于指示所述当前时钟周期中的负载的第二总度量值;
响应于所述第一总度量值与所述第二总度量值之差的绝对值超过第三阈值,在所述下一时钟周期中禁用所述一组数据处理单元中的至少一部分;以及
响应于所述第一总度量值与所述第二总度量值之差的绝对值低于所述第三阈值,在所述下一时钟周期中启用所述一组数据处理单元中的至少一部分。
8.根据权利要求7所述的方法,其中确定所述第二总度量值包括:
针对所述一组数据处理单元中的每个数据处理单元,
获取用于所述数据处理单元的所述先前时钟周期中的所述先前输入数据;以及
基于所述先前输入数据与所述当前输入数据的比较,确定指示所述当前时钟周期中所述数据处理单元的输入数据变化的第二度量值;以及
基于针对所述一组数据处理单元确定的所述第二度量值,确定所述第二总度量值。
9.一种用于平衡负载的装置,包括:
获取单元,被配置用于针对数据处理系统内的一组数据处理单元中的每个数据处理单元,获取在当前时钟周期中用于所述数据处理单元的当前输入数据和在下一时钟周期中用于所述数据处理单元的下一输入数据;
确定单元,被配置用于针对所述一组数据处理单元中的每个数据处理单元,基于所述当前输入数据和所述下一输入数据的比较,确定指示所述下一时钟周期中所述数据处理单元的输入数据变化的第一度量值;以及
控制单元,被配置用于基于针对所述一组数据处理单元确定的所述第一度量值,控制所述一组数据处理单元在所述下一时钟周期中的操作状态。
10.根据权利要求9所述的装置,其中所述获取单元包括:
选择单元,被配置用于从用于所述数据处理单元的多组输入数据中选择至少一组输入数据;以及
执行单元,被配置用于针对所述至少一组输入数据中的每组输入数据分别执行所述获取。
11.根据权利要求9所述的装置,其中所述当前输入数据是在用于所述数据处理单元的输入数据寄存器的输出处的数据,并且所述下一输入数据是在所述输入数据寄存器的输入处的数据。
12.根据权利要求9所述的装置,其中所述确定单元包括:
异或单元,被配置用于将所述当前输入数据和所述下一输入数据的对应比特进行异或运算;以及
第一度量值确定单元,被配置用于基于所述对应比特的所述异或运算的结果,确定所述第一度量值。
13.根据权利要求9所述的装置,其中所述控制单元包括:
第一确定单元,被配置用于基于所述一组数据处理单元中的每个数据处理单元的所述第一度量值来确定指示所述下一时钟周期中的负载的第一总度量值;以及
第一禁用和启用单元,被配置用于响应于所述第一总度量值超过第一阈值,在所述下一时钟周期中禁用所述一组数据处理单元中的至少一部分,并且响应于所述第一总度量值低于所述第一阈值,在所述下一时钟周期中启用所述一组数据处理单元中的至少一部分。
14.根据权利要求9所述的装置,其中所述控制单元包括:
第二禁用和启用单元,被配置用于响应于所述一组数据处理单元中的一个数据处理单元的所述第一度量值超过第二阈值,在所述下一时钟周期中禁用所述一个数据处理单元,并且响应于所述一组数据处理单元中的所述一个数据处理单元的所述第一度量值低于所述第二阈值,在所述下一时钟周期中启用所述一个数据处理单元。
15.根据权利要求9所述的装置,其中所述控制单元包括:
第一确定单元,被配置用于基于针对所述一组数据处理单元确定的所述第一度量值,确定用于指示所述下一时钟周期中的负载的第一总度量值;
第二确定单元,被配置用于基于所述一组数据处理单元的先前时钟周期中的先前输入数据和所述当前时钟周期中的所述当前输入数据,确定用于指示所述当前时钟周期中的负载的第二总度量值;以及
第三禁用和启用单元,被配置用于响应于所述第一总度量值与所述第二总度量值之差的绝对值超过第三阈值,在所述下一时钟周期中禁用所述一组数据处理单元中的至少一部分,并且响应于所述第一总度量值与所述第二总度量值之差的绝对值低于所述第三阈值,在所述下一时钟周期中启用所述一组数据处理单元中的至少一部分。
16.根据权利要求15所述的装置,其中所述第二确定单元包括:
数据获取单元,被配置用于针对所述一组数据处理单元中的每个数据处理单元,获取用于所述数据处理单元的所述先前时钟周期中的所述先前输入数据;
第二度量值确定单元,被配置用于基于所述先前输入数据与所述当前输入数据的比较,确定指示所述当前时钟周期中所述数据处理单元的输入数据变化的第二度量值;以及
第二总度量值确定单元,被配置用于基于针对所述一组数据处理单元确定的所述第二度量值,确定所述第二总度量值。
17.一种电子设备,包括:
一个或多个处理器;以及
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-8中任一项所述的方法。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910690754.7A CN110413414A (zh) | 2019-07-29 | 2019-07-29 | 用于平衡负载的方法、装置、设备和计算机可读存储介质 |
EP20165846.5A EP3771963A1 (en) | 2019-07-29 | 2020-03-26 | Method and apparatus for balancing loads, and computer-readable storage medium |
KR1020200045445A KR102335749B1 (ko) | 2019-07-29 | 2020-04-14 | 부하를 균등화시키는 방법, 장치, 기기 및 컴퓨터 판독 가능 저장 매체 |
JP2020117637A JP7110278B2 (ja) | 2019-07-29 | 2020-07-08 | 負荷を均衡化するための方法、装置、機器、コンピュータ読み取り可能な記憶媒体及びコンピュータプログラム |
US16/929,970 US11537441B2 (en) | 2019-07-29 | 2020-07-15 | Method and apparatus for balancing loads, and computer-readable storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910690754.7A CN110413414A (zh) | 2019-07-29 | 2019-07-29 | 用于平衡负载的方法、装置、设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110413414A true CN110413414A (zh) | 2019-11-05 |
Family
ID=68363912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910690754.7A Pending CN110413414A (zh) | 2019-07-29 | 2019-07-29 | 用于平衡负载的方法、装置、设备和计算机可读存储介质 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11537441B2 (zh) |
EP (1) | EP3771963A1 (zh) |
JP (1) | JP7110278B2 (zh) |
KR (1) | KR102335749B1 (zh) |
CN (1) | CN110413414A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865744A (zh) * | 2020-07-08 | 2020-10-30 | 北京软安科技有限公司 | 一种车辆can总线数据分类方法及装置 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3905565A4 (en) | 2018-12-29 | 2022-03-23 | Huawei Technologies Co., Ltd. | VECTOR DISPLAY METHOD OF CREATING A PRECODING VECTOR AND COMMUNICATION DEVICE |
US11789518B2 (en) * | 2021-06-22 | 2023-10-17 | International Business Machines Corporation | Voltage overshoot management |
US11592895B1 (en) * | 2021-06-30 | 2023-02-28 | Epirus, Inc. | Systems and methods for improving power efficiency |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5953237A (en) * | 1996-11-25 | 1999-09-14 | Hewlett-Packard Company | Power balancing to reduce step load |
US6822478B2 (en) * | 2001-07-03 | 2004-11-23 | Texas Instruments Incorporated | Data-driven clock gating for a sequential data-capture device |
EP1631892A1 (en) * | 2003-05-27 | 2006-03-08 | Koninklijke Philips Electronics N.V. | Monitoring and controlling power consumption |
US9671844B2 (en) * | 2013-09-26 | 2017-06-06 | Cavium, Inc. | Method and apparatus for managing global chip power on a multicore system on chip |
US20150220128A1 (en) * | 2014-02-04 | 2015-08-06 | Infineon Technologies Ag | Method and Apparatus for Use in a Data Processing System |
US9735778B1 (en) * | 2014-08-20 | 2017-08-15 | Altera Corporation | Method and apparatuses for optimizing power management on an integrated circuit device |
GB2542215B (en) * | 2016-01-18 | 2018-04-11 | Imagination Tech Ltd | Dynamic power measurement using a formal verification tool |
US10545556B2 (en) * | 2017-05-10 | 2020-01-28 | Texas Instruments Incorporated | Fine-grained dynamic power and clock-gating control |
US10671147B2 (en) * | 2017-12-18 | 2020-06-02 | Facebook, Inc. | Dynamic power management for artificial intelligence hardware accelerators |
-
2019
- 2019-07-29 CN CN201910690754.7A patent/CN110413414A/zh active Pending
-
2020
- 2020-03-26 EP EP20165846.5A patent/EP3771963A1/en not_active Ceased
- 2020-04-14 KR KR1020200045445A patent/KR102335749B1/ko active IP Right Grant
- 2020-07-08 JP JP2020117637A patent/JP7110278B2/ja active Active
- 2020-07-15 US US16/929,970 patent/US11537441B2/en active Active
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865744A (zh) * | 2020-07-08 | 2020-10-30 | 北京软安科技有限公司 | 一种车辆can总线数据分类方法及装置 |
CN111865744B (zh) * | 2020-07-08 | 2021-12-31 | 北京软安科技有限公司 | 一种车辆can总线数据分类方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11537441B2 (en) | 2022-12-27 |
JP7110278B2 (ja) | 2022-08-01 |
JP2021022373A (ja) | 2021-02-18 |
KR102335749B1 (ko) | 2021-12-06 |
KR20210014063A (ko) | 2021-02-08 |
EP3771963A1 (en) | 2021-02-03 |
US20210034421A1 (en) | 2021-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110413414A (zh) | 用于平衡负载的方法、装置、设备和计算机可读存储介质 | |
CN107730003A (zh) | 一种支持多电器类型高精度的nilm实现方法 | |
CN112433819A (zh) | 异构集群调度的模拟方法、装置、计算机设备及存储介质 | |
JP2011134329A (ja) | プロセッサ・アーキテクチャ・モデルを効率的に生成するための方法及び装置 | |
CN109876436B (zh) | 一种资源缓存设置方法及系统 | |
CN106406494B (zh) | 一种处理器调度的方法及终端 | |
JP2021193618A (ja) | モデルトレーニング方法、装置、電子デバイス、記憶媒体、開発システムおよびプログラム | |
CN113723612B (zh) | 对单向量子计算机计算模型的量子系统进行操作的方法及装置 | |
Moghaddam et al. | Investigation of LSTM based prediction for dynamic energy management in chip multiprocessors | |
CN108021563A (zh) | 一种指令间数据依赖的检测方法和装置 | |
CN107391281A (zh) | 一种服务器的数据处理方法、装置和存储介质 | |
Chung et al. | Enhancing user experiences by exploiting energy and launch delay trade-off of mobile multimedia applications | |
CN108681480B (zh) | 后台应用程序管控方法、装置、存储介质及电子设备 | |
Purandare et al. | Accelerated analysis of Boolean gene regulatory networks | |
CN109743252A (zh) | 倒闸操作路径的生成方法、装置、计算机设备和存储介质 | |
CN115328772A (zh) | 激励组合与模块相关性的学习方法与测试脚本产生方法 | |
Jayakumar et al. | An analog neural-network co-processor system for rapid prototyping of telecommunications applications | |
CN112465116B (zh) | 编译方法、运算方法、电子设备和存储介质 | |
Gandini et al. | A framework for automated detection of power-related software errors in industrial verification processes | |
TWI537749B (zh) | 可控制性檢查系統與方法 | |
CN103218249B (zh) | 一种虚拟化集群控制方法及设备、虚拟化集群系统 | |
CN115705275A (zh) | 参数获取方法、装置以及电子设备 | |
Roose et al. | Kaligreen: A distributed scheduler for energy saving | |
CN110135572A (zh) | 一种基于soc的可训练柔性cnn系统设计方法 | |
CN106326340B (zh) | 一种数据处理方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211015 Address after: Baidu building, No. 10, Shangdi 10th Street, Haidian District, Beijing 100086 Applicant after: Kunlun core (Beijing) Technology Co.,Ltd. Address before: 100094 2 / F, baidu building, No.10 Shangdi 10th Street, Haidian District, Beijing Applicant before: BEIJING BAIDU NETCOM SCIENCE AND TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |