CN115936080A - 用于大规模计算的设备和方法 - Google Patents
用于大规模计算的设备和方法 Download PDFInfo
- Publication number
- CN115936080A CN115936080A CN202211055404.1A CN202211055404A CN115936080A CN 115936080 A CN115936080 A CN 115936080A CN 202211055404 A CN202211055404 A CN 202211055404A CN 115936080 A CN115936080 A CN 115936080A
- Authority
- CN
- China
- Prior art keywords
- processing device
- operating frequency
- processor
- mode
- workload
- 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
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000012545 processing Methods 0.000 claims abstract description 305
- 238000013528 artificial neural network Methods 0.000 claims abstract description 38
- 230000015654 memory Effects 0.000 claims description 71
- 230000004044 response Effects 0.000 claims description 34
- 230000002787 reinforcement Effects 0.000 claims description 27
- 230000003247 decreasing effect Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 description 15
- 238000004364 calculation method Methods 0.000 description 13
- 238000012360 testing method Methods 0.000 description 8
- 238000012549 training Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000003679 aging effect Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 210000002569 neuron Anatomy 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 3
- 230000001537 neural effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000003909 pattern recognition Methods 0.000 description 3
- 239000002775 capsule Substances 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000012212 insulator Substances 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005442 molecular electronic Methods 0.000 description 1
- 239000002071 nanotube Substances 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
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/16—Constructional details or arrangements
- G06F1/20—Cooling means
- G06F1/206—Cooling means comprising thermal management
-
- 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
- G06F1/3228—Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
-
- 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
-
- 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/324—Power saving characterised by the action undertaken by lowering 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/329—Power saving characterised by the action undertaken by task scheduling
-
- 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/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
- G06F9/4893—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking 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/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
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/509—Offload
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Power Sources (AREA)
- Feedback Control In General (AREA)
Abstract
提供了一种用于大规模计算的设备和方法。所述设备包括:至少一个处理装置,被配置为执行与神经网络相关的操作,传感器,被配置为感测所述至少一个处理装置的电特性、所述至少一个处理装置的操作频率和所述至少一个处理装置的温度,和处理器,被配置为基于所述至少一个处理装置的操作模式、所述至少一个处理装置的电特性、所述至少一个处理装置的操作频率和所述至少一个处理装置的温度来计算要分配给所述至少一个处理装置的工作负载,并且基于操作模式和工作负载来控制电特性、操作频率和温度。
Description
本申请要求于2021年10月1日在韩国知识产权局提交的第10-2021-0131072号韩国专利申请和于2021年12月22日在韩国知识产权局提交的第10-2021-0185382号韩国专利申请的权益,所述韩国专利申请的全部公开通过出于所有目的的引用包含于此。
技术领域
以下描述涉及用于大规模计算的设备和方法。
背景技术
动态电压和频率缩放(DVFS)技术可被实现为调整计算系统的电压和频率。
DVFS是可被实现在计算机架构中的技术,并且可指代通过动态地增加或降低实现的组件的施加电压并且调整核心频率来控制性能和功率的技术。
发明内容
提供本发明内容来以简化的形式介绍在下面的具体实施方式中进一步描述的构思的选择。本发明内容不意在确认要求权利的主题的关键特征或必要特征,也不意在用于帮助确定要求权利的主题的范围。
在一个总体方面,一种计算装置,包括:至少一个处理装置,被配置为执行神经网络的操作;传感器,被配置为感测所述至少一个处理装置的电特性、所述至少一个处理装置的操作频率和所述至少一个处理装置的温度中的至少一个;和处理器,被配置为基于所述至少一个处理装置的操作模式、感测的所述至少一个处理装置的电特性、感测的所述至少一个处理装置的操作频率和感测的所述至少一个处理装置的温度来计算要分配给所述至少一个处理装置的工作负载,并且基于操作模式和计算的工作负载来控制电特性、操作频率和温度。
传感器可包括被配置为测量电特性的元件,并且其中,电特性包括施加到所述至少一个处理装置的电压和所述至少一个处理装置的功耗中的至少一个。
传感器可包括被配置为测量温度的温度传感器。
电特性可包括施加到所述至少一个处理装置的电压和所述至少一个处理装置的功耗中的至少一个。
操作模式可包括高性能模式和/或高效率模式中的至少一个。
处理器可被配置为:响应于操作模式是高性能模式,将具有大量的计算操作的工作负载分配给所述至少一个处理装置之中的使用少量的功率的处理装置。
处理器可被配置为:响应于操作模式是高性能模式,将具有少量的计算操作的工作负载分配给所述至少一个处理装置之中的使用大量的功率的处理装置;并且控制电特性和操作频率,使得使用大量的功率的处理装置具有与峰值效率对应的电特性和操作频率。
处理器可被配置为:响应于操作模式是高效率模式,将具有大量的计算操作的工作负载分配给所述至少一个处理装置之中的要以相同的操作频率使用低电压驱动的处理装置。
处理器可被配置为:基于要在所述至少一个处理装置中执行的操作的算术强度(AI)来控制所述至少一个处理装置的操作频率和存储器的操作频率。。
处理器可被配置为:响应于所述至少一个处理装置的操作频率增加而增加存储器的操作频率,并且响应于所述至少一个处理装置的操作频率降低而降低存储器的操作频率。
处理器可被配置为:响应于所述至少一个处理装置的操作频率增加而降低存储器的操作频率,并且响应于所述至少一个处理装置的操作频率降低而增加存储器的操作频率。
处理器可被配置为:基于输入到所述至少一个处理装置的输入数据的大小和形状中的至少一个来调整感测的所述至少一个处理装置的电特性和感测的所述至少一个处理装置的操作频率;使用基于调整后的电特性和调整后的操作频率确定的奖励对神经网络执行强化学习;并且基于被执行强化学习的神经网络来控制调整后的电特性和调整后的操作频率。
在一个总体方面,一种处理器实现的计算方法,包括:测量至少一个处理装置的电特性、所述至少一个处理装置的操作频率和所述至少一个处理装置的温度,其中,所述至少一个处理装置被配置为执行与神经网络相关的操作;基于所述至少一个处理装置的操作模式、感测的所述至少一个处理装置的电特性、感测的所述至少一个处理装置的操作频率和感测的所述至少一个处理装置的温度来计算要分配给所述至少一个处理装置的工作负载;和基于操作模式和计算的工作负载来控制电特性、操作频率和温度,其中,所述测量的步骤、所述计算的步骤和所述控制的步骤由根据所述处理器执行的指令配置的处理器执行。
电特性可包括施加到所述至少一个处理装置的电压和所述至少一个处理装置的功耗中的至少一个。
操作模式可包括高性能模式和高效率模式中的至少一个。
由处理器计算工作负载的步骤可包括:响应于操作模式是高性能模式,由处理器将具有大量的计算操作的工作负载分配给所述至少一个处理装置之中的使用少量的功率的处理装置。
由处理器计算工作负载的步骤可包括:响应于操作模式是高性能模式,由处理器将具有少量的计算操作的工作负载分配给所述至少一个处理装置之中的使用大量的功率的处理装置;和由处理器控制电特性和操作频率,使得使用大量的功率的处理装置具有与峰值效率对应的电特性和操作频率。
由处理器计算工作负载的步骤可包括:响应于操作模式是高效率模式,将具有大量的计算操作的工作负载分配给所述至少一个处理装置之中的要以相同的操作频率使用低电压驱动的处理装置。
所述方法可包括:由处理器基于要在所述至少一个处理装置中执行的操作的算术强度来控制所述至少一个处理装置的操作频率和存储器的操作频率。
控制所述至少一个处理装置的操作频率和存储器的操作频率的步骤可包括:响应于所述至少一个处理装置的操作频率增加而增加存储器的操作频率;和响应于所述至少一个处理装置的操作频率降低而降低存储器的操作频率。
控制所述至少一个处理装置的操作频率和存储器的操作频率的步骤可包括:响应于所述至少一个处理装置的操作频率增加而降低存储器的操作频率;和响应于所述至少一个处理装置的操作频率降低而增加存储器的操作频率。
所述方法可包括:基于输入到处理装置的输入数据的大小和形状中的至少一个来调整感测的所述至少一个处理装置的电特性和感测的所述至少一个处理装置的操作频率;使用基于调整后的电特性和调整后的操作频率确定的奖励对神经网络执行强化学习;和基于被执行强化学习的神经网络来控制调整后的电特性和调整后的操作频率。
在一个总体方面,一种装置包括:处理器,被配置为执行指令;和存储器,存储指令,所述指令在由处理器执行时将处理器配置为:确定至少一个处理装置的操作模式;感测所述至少一个处理装置的电压、操作频率和温度;并且基于确定的操作模式来计算要分配给所述至少一个处理装置的工作负载;其中,在第一确定的操作模式下,处理器被配置为:将大于预定工作负载阈值的工作负载分配给所述至少一个处理装置之中的具有低功耗率的处理装置,并且将小于所述预定工作负载阈值的工作负载分配给所述至少一个处理装置之中的具有高功耗率的处理装置;并且其中,在第二确定的操作模式下,处理器被配置为:将大于预定工作负载阈值的工作负载分配给所述至少一个处理装置之中的使用低电压驱动的处理装置。
第一确定的模式可以是高性能模式,并且第二确定的模式是高效率模式。
处理器可被配置为:响应于所述至少一个处理装置的操作频率增加而降低存储器的操作频率。
根据下面具体实施方式、附图和权利要求,其他特征和方面将是显而易见的。
附图说明
图1示出根据一个或多个实施例的示例计算装置的框图。
图2示出根据一个或多个实施例的示例和方法。
图3示出根据一个或多个实施例的强化学习操作。
图4示出根据一个或多个实施例的根据功率效率不同地分配工作负载的大小的示例操作的流程图。
图5示出根据一个或多个实施例的根据功率效率不同地分配工作负载大小的示例调度器。
图6示出根据一个或多个实施例的搜索确定的优化设置的操作。
图7示出根据一个或多个实施例的根据图形处理器(GPU)利用率的GPU电压变化的差异。
图8示出根据一个或多个实施例的在最大性能模式下针对每个GPU使用不同电压来实现最大频率而执行的操作。
图9A、图9B和图9C示出根据一个或多个实施例的应用示例。
图10是示出根据一个或多个实施例的示例方法的流程图。
在整个附图和具体实施方式中,除非另有描述或提供,否则相同的附图标记将被理解为指代相同或相似的元件、特征和结构。为了清楚、示出和方便,附图可不按比例,并且附图中的元件的相对大小、比例和描绘可被夸大。
具体实施方式
提供以下具体实施方式以帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将是清楚的。例如,在此描述的操作的顺序仅是示例,并且不限于在此阐述的那些顺序,而是除了必须以特定次序发生的操作之外,可如在理解本申请的公开之后将是清楚的那样被改变。此外,为了更加清楚和简明,可省略在理解本申请的公开之后已知的特征的描述,注意,特征以及特征的描述的省略也不意在承认它们的常识。
在此描述的特征可以以不同的形式体现,并且不应被解释为限于在此描述的示例。相反,在此描述的示例已仅被提供,以示出在理解本申请的公开之后将是清楚的实现在此描述的方法、设备和/或系统的许多可行方式中的一些可行方式。
尽管在此可使用诸如“第一”、“第二”和“第三”的术语来描述各种构件、组件、区域、层或部分,但是这些构件、组件、区域、层或部分不受这些术语的限制。相反,这些术语仅用于将一个构件、组件、区域、层或部分与另一个构件、组件、区域、层或部分区分开。因此,在不脱离示例的教导的情况下,在此描述的示例中所称的第一构件、第一组件、第一区域、第一层或第一部分也可被称为第二构件、第二组件、第二区域、第二层或第二部分。
贯穿说明书,当元件(诸如,层、区域或基底)被描述为“在”另一元件“上”、“连接到”或“结合到”另一元件时,该元件可直接“在”该另一元件“上”、直接“连接到”或“结合到”该另一元件,或者可存在介于它们之间的一个或多个其他元件。相反,当元件被描述为“直接在”另一元件“上”、“直接连接到”或“直接结合到”另一元件时,可不存在介于它们之间的其他元件。
在此使用的术语仅出于描述特定示例的目的,而不应用于限制公开。如在此使用的,除非上下文另外清楚地指示,否则单数形式也意在包括复数形式。如在此使用的,术语“和/或”包括相关联的所列项目中的任何一个和任何两个或更多个的任何组合。如在此使用的,术语“包括”、“包含”和“具有”指定存在陈述的特征、数量、操作、元件、组件和/或它们的组合,但是不排除存在或添加一个或多个其他特征、数量、操作、元件、组件和/或它们的组合。
此外,在此可使用诸如第一、第二、A、B、(a)、(b)等的术语来描述组件。这些术语中的每个不用于定义对应组件的本质、次序或序列,而是仅用于将对应组件与一个或多个其他组件区分开。
除非另外定义,否则在此使用的所有术语(包括技术和科学术语)具有与由本公开所属领域的普通技术人员在理解本申请的公开之后通常理解的含义的含义相同的含义。除非在此明确地如此定义,否则术语(诸如,在通用词典中定义的术语)应被解释为具有与它们在相关领域的上下文和本申请的公开中的含义一致的含义,并且不应以理想化或过于形式化的含义进行解释。
在一个或多个示例中,动态电压和频率缩放(DVFS)技术可被实现为提高计算系统的性能或降低功耗。
在一个或多个示例中,计算装置是被配置为执行一个或多个操作的电子硬件装置,和/或可指代被配置为执行指令(例如,编码)的计算硬件(例如,处理器),指令在由计算硬件执行时将计算硬件配置为执行一个或多个操作和/或方法。这样的指令可被存储在非暂时性记录介质中,例如,当由一个或多个处理器或者一个或多个微处理器读取和执行时,非暂时性记录介质将一个或多个处理器或者一个或多个微处理器配置为执行特定操作或方法。
换言之,计算装置将结构称为执行本公开的一个或多个特征的电子硬件或计算硬件。
图1示出根据一个或多个实施例的示例计算装置的框图。
典型的DVFS技术可不反映多个处理器中的每个的特性,并且可不考虑处理器的温度。
参照图1,计算装置10可控制用于计算的电压或频率,并且从而提高一些高性能计算装置(HPC)、超级计算机或云系统的性能,或者降低功耗,并且从而提高计算装置10中或通过计算装置10的性能。
在一个示例中,计算装置10可在执行操作的硬件芯片(例如,图形处理器(GPU)和中央处理器(CPU))的可接受的电压和频率(例如,操作频率)的范围内调整施加到硬件芯片的电压和频率,从而降低功耗并且实现最大性能。
通过调整施加到硬件芯片的电压和频率,当与先前设备中的均匀电压的施加相比时,计算装置10可实现更高的性能,降低功耗,并且实现更高的能量效率。
作为非限制性示例,计算装置10可以以表的形式存储处理装置200的唯一特性,并且可实现存储的特性以实现这样的计算装置的最大性能或最大能量效率。在此,应注意,关于示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或实现的什么)意味着存在包括或实现这样的特征的至少一个示例或实施例,然而所有示例和实施例不限于此。
计算装置10可实现机器学习或其他人工智能以实现高计算性能或高能量效率。在一个或多个示例中,机器学习可包括强化学习,其中,计算装置10可基于强化学习的实现来自动控制处理装置接收适合于处理装置的特性的电压和频率,从而执行性能的最大化或能量效率的最大化。
强化学习可指代学习方法,学习方法包括监督或无监督学习和例如使用经验或基于环境的学习的强化学习,其中,在预定环境(例如,环境330)中定义的代理对当前状态St进行识别,并且从可选择的动作选择执行奖励Rt的最大化的动作At或动作顺序。
神经网络中的节点(或神经元)可包含参数(例如,权重和偏置)的组合。神经网络可包括由一个或多个节点组成的一个或多个层。神经网络可被训练为通过经由学习或训练改变节点的权重来从任意输入推断期望的结果。例如,层结构的权重和偏置或层之间的权重和偏置可被统称为神经网络的连通性(connectivity)。因此,神经网络的训练可表示建立和训练这种加权连通性。简言之,在此对“神经元”的任何这样的引用不意在赋予关于神经网络架构如何计算地映射或由此直观地识别或考虑信息以及人类的神经元如何操作的任何相关性。换言之,术语“神经元”仅是指代人工神经网络的节点的硬件实现的操作的技术术语,并且将具有与神经网络的节点相同的含义。
例如,模式识别或分析的技术自动化已经通过处理器实现的神经网络模型作为专用计算架构被实现,作为非限制性示例,专用计算架构在大量训练之后可提供输入模式与输出模式之间的计算直观映射、输入模式的模式识别。生成这样的映射或执行这样的模式识别的训练的能力可被称为神经网络的学习能力。这样的训练的能力还可使得专用计算架构能够将这样的输入模式或输入模式的一部分分类为属于一个或多个预定组的成员。此外,由于专门训练,因此这样的专门训练的神经网络可具有例如生成相对于如下输入模式的相对准确或可靠的输出的泛化能力:针对该输入模式,神经网络可尚未被训练。
作为非限制性示例,神经网络可包括具有多个隐藏层的深度神经网络(DNN)。在一个示例中,DNN可以是全连接网络、卷积神经网络、递归神经网络、注意力网络、自注意力网络等中的一个或多个,或者可根据用于处理信息的算法而包括分别具有这样的全连接、卷积连接或递归连接的不同或重叠的神经网络部分。
例如,作为非限制性示例,神经网络可以是或包括仅作为示例的卷积神经网络(CNN)、递归神经网络(RNN)、感知器、前馈(FF)、径向基网络(RBF)、深度前馈(DFF)、长短期记忆(LSTM)、门控递归单元(GRU)、自动编码器(AE)、变分自动编码器(VAE)、去噪自动编码器(DAE)、稀疏自动编码器(SAE)、马尔可夫链(MC)、霍普菲尔(Hopfield)网络(HN)、玻尔兹曼机(BM)、受限玻尔兹曼机(RBM)、深度信念网络(DBN)、深度卷积网络(DCN)、解卷积网络(DN)、深度卷积逆图形网络(DCIGN)、生成对抗网络(GAN)、液体状态机(LSM)、极端学习机(ELM)、回声状态网络(ESN)、深度残差网络(DRN)、可微分神经计算机(DNC)、神经图灵机(NTM)、胶囊网络(CN)、科荷伦(Kohonen)网络(KN)和注意力网络(AN)。
计算装置10可包括传感器100、处理装置200、一个或多个处理器300和一个或多个存储器400。
作为非限制性示例,传感器100指代并且表示作为非限制性示例的实现用于检测和/或感测当前状态信息并将状态信息发送到处理器300的操作的一个或多个传感器、电感测硬件或处理器或者存储器。作为非限制性示例,传感器100可包括被配置为感测电特性的元件。传感器100还可感测或检测处理装置200的电特性、操作频率和温度。作为非限制性示例,传感器100可包括被配置为感测温度的温度传感器。电特性可包括施加到处理装置200的电压和处理装置200的功耗。
处理装置200可执行与神经网络相关的操作。在一个示例中,处理装置200可以是至少一个处理器。作为非限制性示例,处理装置200可包括GPU、神经处理器(NPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或应用处理器(AP)。在一个示例中,处理装置200可由计算装置10(或其他电子装置)虚拟地实现,以执行指令来将其处理器配置为实现所有操作和/或方法中的任何一个、组合,从而在虚拟机中提供虚拟处理器装置。
处理器300可处理存储在存储器400中的数据。处理器300可执行存储在存储器400中的计算机可读指令和由处理器200引起的指令。
“处理器300”可以是以具有电路的硬件实现的数据处理装置,电路具有用于执行包括在用于操作的程序中的代码或指令的物理结构。
在一个示例中,以硬件实现的数据处理装置可包括微处理器、中央处理器、处理器核、多核处理器和多处理器、专用集成电路(ASIC)以及现场可编程门阵列(FPGA)。
处理器300可基于与至少一个处理装置200对应的操作模式、电特性、操作频率和温度来计算要分配给至少一个处理装置200的工作负载。
操作模式可包括高性能模式和高效率模式。高性能模式可以是当执行实现至少一个处理装置200的操作时执行操作性能的最大化的模式。高效率模式可以是在执行实现至少一个处理装置200的操作时执行功率效率的最大化的模式。
在一个示例中,处理器300可基于操作模式和工作负载来控制电特性、操作频率和温度。
当操作模式是高性能模式时,处理器300可将具有相对大量的计算操作的工作负载分配给至少一个处理装置200之中的使用相对少量的功率的处理装置。在一个示例中,“大量的计算操作”可指代超过计算操作的第一阈值数量的计算操作的总数。
当操作模式是高性能模式时,处理器300可将具有相对少量的计算操作的工作负载分配给至少一个处理装置200之中的使用相对大量的功率的处理装置200,并且控制电特性和操作频率,使得使用相对大量的功率的处理装置200具有与峰值效率对应的电特性和操作频率。在一个示例中,“少量的计算操作”可指代等于或小于计算操作的第二阈值数量的计算操作的总数,例如,其中,第一阈值与第二阈值彼此相等,或者其中,第一阈值大于第二阈值。
当操作模式是高效率模式时,处理器300可将相对高的工作负载分配给至少一个处理装置200之中的要以相同的操作频率使用相对低的电压进行驱动的处理装置200。在一个示例中,低电压可以是相对低的电压或者最低的电压。当操作模式是高效率模式时,处理器300可将具有相对大量的计算操作的工作负载分配给至少一个处理装置200之中的在相同的操作频率具有最高功率效率的处理装置。
处理器300可基于要在至少一个处理装置200中执行的操作的运算强度(AI)来控制存储器400的操作频率和处理装置200的操作频率。
在一个示例中,处理器300可响应于处理装置200的操作频率增加而降低存储器400的操作频率。在一个示例中,处理器300可响应于处理装置200的操作频率降低而增加存储器400的操作频率。
另外,在一个示例中,处理器300可响应于处理装置200的操作频率增加而增加存储器400的操作频率,并且可响应于处理装置200的操作频率降低而降低存储器400的操作频率。
处理器300可至少基于输入到处理装置200的数据的大小和形状来调整处理装置200和存储器400的电特性和操作频率。处理器300可使用基于调整后的电特性和调整后的操作频率确定的奖励来对神经网络执行强化学习或训练。处理器300可基于被执行强化学习的神经网络来控制电特性和操作频率。
存储器400可存储用于操作或操作结果的数据。存储器400可存储要由处理器执行的指令。在一个示例中,指令可包括用于执行处理器300的操作和/或处理器300的每个组成元件的操作的指令。
存储器400可被实现为易失性存储器装置或非易失性存储器装置。
易失性存储器装置或非易失性存储器装置可被实现为动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、晶闸管RAM(T-RAM)、零电容器RAM(Z-RAM)或双晶体管RAM(TTRAM)。
易失性存储器或非易失性存储器可被实现为电可擦除可编程只读存储器(EEPROM)、闪存、磁RAM(MRAM)、自旋转移矩(STT)-MRAM、导电桥接RAM(CBRAM)、铁电式RAM(FeRAM)、相变RAM(PRAM)、电阻式RAM(RRAM)、纳米管RRAM、聚合物RAM(PoRAM)、纳米浮栅存储器(NFGM)、全息存储器、分子电子存储器装置或绝缘体电阻变化存储器。
图2示出图1的示例计算装置的操作。下面讨论的图2的计算装置可以是图1的计算装置,但是示例不限于此。
参照图2,计算装置10可通过利用传感器(例如,图1的传感器100)获取处理装置(例如,图1的处理装置200)的性能来控制电压和频率。计算装置可使用至少一个处理装置200来处理多个操作(例如,操作1、操作2、......操作N)。
在图2的示例中,处理装置200可包括CPU 210和GPU 230。存储设备250可被实现为存储器(例如,图1的存储器400)。
作为非限制性示例,处理器(例如,图1的处理器300)可对多个操作执行微基准测试(micro-benchmark test),从而在控制温度、电压、操作频率或功率值的同时根据处理装置200的温度获取峰值性能和功率效率。处理器300可将根据温度的获取的峰值性能和功率效率以表(例如,图2的表)或JavaScript对象表示法(json)、csv、python等的数据帧的形式存储在存储设备250中。在一个示例中,峰值性能可由每秒万亿次浮点运算(Tera FLoatingpoint Operations Per Second,TFLOPS)表示。
处理器300可使用存储的峰值性能和功率效率来实现整个计算系统的目标性能或目标功率效率。处理器300可在控制温度、电压、操作频率或功率值的同时多次执行测试。因此,处理器300可获取数据,实现趋向于或处于峰值性能或峰值效率的结果。
由于处理装置200的质量可变化,因此处理器300可预先获取根据电压表现出的性能的差异,并且将差异存储在存储器400中,从而在每次改变操作模式时设置确定的优化电压或功率电平。
在执行功率效率的最大化的高效率模式下,处理器300可预先获取处理装置200的确定的优化电压或功率电平,并且使用所有处理装置的性能的总和和功耗的总和来获得设置值以实现确定的优化的功率效率。
处理器300可预先获取关于功率效率的处理装置200的电压、操作频率或功率电平,并且将在处理装置200表现出确定的优化的功率效率的条件下获得的性能的总和除以功率的总和,从而搜索设置条件以实现确定的优化的功率效率。
处理器300可验证指示处理装置200的正常操作的范围的平均故障间隔时间(MTBF)是否减小。当MTBF减小时,处理器300可确定MTBF是否小于当前工作负载的预测操作时间。如果MTBF短于工作负载的执行时间,则处理器300可通过调整温度或增加电压来增加MTBF。
如果用于处理装置200的优化的性能的条件或裕度或者确定的优化的功率效率点由于老化效应而改变,则处理器300可执行周期性跟踪以防止故障,并且可预测老化效应以确保正常操作。当处理装置200的一部分的操作条件(例如,温度、电压、操作频率或功率)的结果(例如,性能或功率效率)由于老化效应而改变时,可通过回归来预测结果并将结果应用于所有处理装置。
作为非限制性示例,回归的输入值可包括温度、电压、操作频率、功率、输入的大小、输入的形状、温度的变化、电压的结果值的变化、针对温度的电压的变化、针对频率的电压的变化或变化花费的时间。
处理器300可将用于处理装置200的唯一电压、操作频率或温度的条件(例如,设置条件)生成到表中,并且将生成的表存储在存储器400中。处理器300可针对每个处理装置生成并且存储单独的表。作为非限制性示例,处理器300可将表存储在主机存储设备、主存储器、处理装置200中的主存储器和闪存中。
处理器300可存储根据MTBF以及设置条件来识别错误发生所花费的最大时间。当由于MTBF而发生故障时,处理器300可存储指示发生故障的设置条件的表无效的值以及相应的设置条件。
处理器300可周期性地验证和存储电压、操作频率、温度与MTBF之间的关系。
当处理装置200的性能或功率效率由于老化效应而改变时,处理器300可通过经由回归预测确定的优化设置条件来将改变的设置条件应用于处理装置200。
作为非限制性示例,回归分析的输入可包括温度、电压、操作频率、功率、输入的大小、输入的形状、温度的变化、电压的结果值的变化、针对温度的电压的变化、针对操作频率的电压的变化或变化所花费的时间。
处理器300可使用从其上实现相同的处理装置200的芯片或产品获取的最大性能和最大效率的设置条件来搜索另一处理装置200的最大性能和最大效率。处理器300可在基于先前获取的设置条件以预设间隔改变电压、操作频率或功率的同时搜索最大性能和最大功率效率。
由于在应用(诸如,高性能线性系统软件包(High-Performance Linpack,HPL))中分配给处理装置200的工作负载的大小可随时间减小,因此处理器300可在操作之前预先知道要处理的工作负载的大小和形状。处理器300可通过改变电压、操作频率或功率的设置条件来设置适合于要分配的工作负载的最大性能模式的条件,然后开始操作。
作为非限制性示例,处理器300可基于与至少一个处理装置对应的操作模式、电特性、操作频率和温度来计算要分配给至少一个处理装置200的工作负载。操作模式可包括高性能模式和高效率模式。
当操作模式是高性能模式时,处理器300可将具有相对大量的计算操作的工作负载分配给至少一个处理装置200之中的使用少量的功率的处理装置。当操作模式是高性能模式时,处理器300可将具有相对少量的计算操作的工作负载分配给至少一个处理装置200之中的使用相对大量的功率的处理装置200,并且控制电特性和操作频率,使得使用相对大量的功率的处理装置200可具有与峰值效率对应的电特性和操作频率。
当在实现两个或更多个处理装置200的操作中将不相等大小的工作负载分配给处理装置200中的每个时,处理器300可将具有相对大量的计算操作的工作负载分配给以相同的频率使用相对少量的功率的处理装置200。处理器300可将具有相对少量的计算操作的工作负载分配给以相同的频率使用相对大量的功率的处理装置200。通过上面描述的工作负载分配处理,处理器300可在不影响整体计算性能的情况下设置最接近产生峰值效率的电压、操作频率或功率,从而在降低功耗的同时实现确定的优化性能。
在一个示例中,即使当不同类型的处理装置200(诸如,CPU 210和GPU230)被一起驱动时,处理器300也可将对性能不关键的处理装置200的电压和操作频率设置为接近执行功率效率的最大化的条件。
处理器300可将具有相对大量的计算操作的工作负载分配给处理装置200,处理装置200可在处理装置200执行性能的最大化的操作频率条件下降低电压或功率。
处理器300可通过降低实现低计算工作负载的处理装置200的电压、操作频率或功率来执行功率效率的最大化,直到实现繁重计算工作负载的处理装置200完成操作。
当使用不同类型的处理装置200执行操作时,处理器300可将不影响性能的处理装置的电压、操作频率或功率设置为尽可能接近这样的条件从而降低功耗:在该条件,处理装置200的功率效率相对较高。
当操作模式是高效率模式时,处理器300可将具有相对大量的计算操作的工作负载分配给至少一个处理装置200之中的以相同的操作频率使用相对低的电压进行驱动的处理装置200。当操作模式是高效率模式时,处理器300可将具有相对少量的计算操作的工作负载分配给至少一个处理装置200之中的在相同的操作频率具有最高功率效率的处理装置。
当在实现两个或更多个处理装置200的操作中将不相等大小的工作负载分配给每个处理装置200时,处理器300可将具有相对大量的计算操作的工作负载分配给进一步以相同的频率降低电压的处理装置200。在不影响计算性能的范围内,处理器300可降低或增加被分配具有相对少量的计算操作的工作负载的处理装置的操作频率。处理器300可将操作频率控制为接近处理装置200表现出最高功率效率的状态,从而执行整个计算系统的功率效率的最大化。
处理器300可使用从一个处理装置200获得的特性表来搜索另一处理装置200的特性。处理器300可基于一个处理装置200的高性能模式或高效率模式的设置值来扩展搜索空间,从而在没有搜索整个搜索空间的情况下快速找到另一处理装置200的确定的优化设置。
在一个示例中,处理器300可执行计算限制操作(compute bound operation)和存储器限制(memory-bound operation)操作。在执行的工作负载的算术强度(AI)或操作强度(OI)低的存储器限制操作的示例中,处理器300可降低处理装置200的操作频率(例如,时钟频率)并增加存储器400的时钟频率,从而实现高性能。当要分配执行高AI或OI的工作负载时,处理器300可增加处理装置200的时钟频率并降低存储器400的时钟频率,从而增加功率效率,并且同时实现高性能。
用于实现图2的计算方法的算法可被实现为软件并且被存储在主机系统中,或者被实现为单独的硬件以在没有主机干预的情况下进行操作。
图3示出图1的示例计算装置的示例强化学习操作。
参照图3,处理器(例如,图1的处理器300)可通过实现强化学习来得到和控制处理装置(例如,图1的处理装置200)的确定的优化设置。
处理器300可基于输入到至少一个处理装置200的输入数据的大小和形状来调整电特性和操作频率,并且使用基于调整后的电特性和调整后的操作频率确定的奖励来对神经网络执行强化学习。在一个实施例中,处理器300可基于输入到至少一个处理装置的输入数据的大小和形状中的至少一个来调整感测的至少一个处理装置的电特性和感测的至少一个处理装置的操作频率。处理器300可基于被执行强化学习的神经网络来控制电特性和操作频率。
如果处理装置200的数量增加,则可难以对所有示例进行测试。因此,处理器300可通过参照图2描述的方法保留在改变处理装置200的各种条件(例如,数据大小、数据形状、温度、电压、操作频率或功率)以及唯一制造年份和制造商信息的同时感测或检测的数据。
处理器300可使用各种条件(例如,数据大小、数据形状、温度、电压、操作频率或功率)以及唯一制造年份和制造商信息作为输入值,并且可将每个处理装置200的用于操作模式(例如,高性能模式或高效率模式)的设置值设置为目标值。因此,即使针对不通过实现机器学习回归模型执行测试的状态,处理器300也可得到用于控制处理装置200的设置值。
处理器300可在通过强化学习自动获取处理装置200的特性的同时控制处理装置200的电压和操作频率。如参照图2所述,在基于由其上使用预定数量的处理装置200实现计算装置10的芯片允许的限制来调整温度的同时,处理器300可搜索电压、操作频率和电特性。当使用预定数量或更多的处理装置200执行操作时,处理器300可通过对一部分处理装置实施强化学习来搜索与高性能模式和高效率模式对应的设置,并将找到的设置应用于其他处理装置200,从而在不执行过度测试的情况下执行确定的优化操作。
当在高性能模式下执行工作负载时,分配给每个处理装置200的输入数据的大小和形状可随时间改变。当执行工作负载时,处理器300可通过设置最大操作频率来执行强化学习以执行性能的最大化,尝试降低功率,并且如果功率降低成功,则给予高奖励。处理器300可通过对超过可接受范围的设置条件给予最低奖励来教导代理310不落入超过可接受范围的设置中。
处理器300可给出确定的优化条件与当前设置条件之间的差的倒数作为奖励。处理器300可将在电压或功率在最大操作频率条件最低所在的点处的奖励设置为最大奖励,并且针对与对应于最大奖励的设置条件的差增加的条件给予与差成比例的奖励。
当在高效率模式下执行工作负载时,分配给每个处理装置200的输入数据的大小和形状可随时间改变。通过调整电压和操作频率,处理器300可以以给予奖励以增加功率效率值(例如,TFLOPS/W)的方式来执行强化学习,使得功率效率最大化。
处理器300可使用在改变处理装置200的多个设置条件(例如,仅作为示例,数据大小、数据形状、温度、电压工作频率或功率)以及唯一制造年份和制造商信息的同时感测或检测的数据作为输入值。处理器300可将处理装置200的每个操作模式的设置条件设置为目标值,从而即使针对不使用机器学习回归模型执行测试的情况也预测合适的设置条件。
处理器300可在通过强化学习自动获取处理装置200的特性的同时控制电压或操作频率。
图4是示出根据功率效率分配不同大小的工作负载的示例操作的流程图,并且图5示出根据功率效率分配不同大小的工作负载的示例调度器。
参照图4和图5,调度器530可接收关于要分配给处理装置(例如,图1的处理装置200)的工作负载的信息510。关于工作负载的信息可包括工作负载的大小和形状。在一个示例中,调度器530可被实现在处理器(例如,图1的处理器300)中。调度器530可被实现为硬件或软件。
调度器530可在高性能模式下将具有相对大量的计算操作的工作负载分配给具有较好性能的处理装置200,并且在高效率模式下将具有相对大量的计算操作的工作负载分配给具有较高功率效率的处理装置。
处理装置200可包括GPU0 570和GPU1 590。尽管图4和图5将处理装置200示出为GPU,但是这仅是示例,并且仅作为示例,处理装置200也可被实现为CPU、NPU、FPGA或DSP。
调度器530可基于GPU特性表550将工作负载分发给GPU0 570和GPU1590。调度器530可将子工作负载分配给GPU0 570和GPU1 590。
在操作410中,调度器530可接收关于工作负载的信息。调度器530可对至少一个处理装置200的功率效率(例如,TFLOPS/W)进行比较。在操作420中,调度器530可确定GPU0570的功率效率是否比GPU1 590的功率效率高。当GPU0 570的功率效率较高时,在操作430中,调度器530可将具有更大数量的计算操作的工作负载分配给GPU0 570。
当GPU0 570的功率效率不比GPU1 590的功率效率高时,在操作440中,调度器530可确定GPU0 570的功率效率是否与GPU1 590的功率效率相等。
当GPU0 570的功率效率与GPU1 590的功率效率相等时,调度器530可将相同的工作负载分配给每个GPU。当GPU0 570的功率效率不与GPU1 590的功率效率相等时,调度器530可将具有更大数量的计算操作的工作负载分配给GPU1 590。
图6示出由图1的示例计算装置搜索确定的优化设置的示例操作。
参照图6,示例计算装置10可被实现在感测系统610中。在非限制性示例中,当处理装置200以芯片的形式批量生产时,感测系统610可在处理装置200上执行测试。通过实现探针卡630,感测系统610可使用空调670(例如,加热器或冷却器)加热或冷却晶片650的形式的芯片,输入测试模型,并搜索确定的优化设置。
图7示出根据GPU利用率的GPU电压变化的差异,并且图8示出被执行以在最大性能模式下针对每个GPU使用不同电压来实现最大频率的操作。
参照图7和图8,在其上实现处理装置(例如,图1的处理装置200)的芯片可具有在制造过程中得到的根据温度的唯一电压和工作频率的可用范围。芯片可包括通过调整电压或操作频率在实现最大性能的同时降低功耗的芯片,以及在实现相同的性能的同时执行功率效率的最大化的芯片。
在图8的示例中,使用芯片的这种差异,处理器300可通过存储每个处理装置200的唯一特性而不是统一地应用处理装置200的设置条件来在实现最大性能或实现最大功率效率的同时降低功耗。处理器300可通过实现自动化方法(诸如,强化学习)来实现计算系统的最大性能或最大效率。
图9A至图9C示出图1的计算装置的应用的示例。
参照图9A至图9C,可以以各种方式在硬件装置上实现计算装置(例如,图1的计算装置10)。在图9A的示例中,计算装置10可被实现在GPU服务器上。在图9B的示例中,计算装置10可被实现在机架式规模服务器系统上。在图9C的示例中,计算装置10可被实现在其中嵌入有移动GPU的系统上。
在非限制性示例中,计算装置10可被应用到包括处理装置(例如,图1的处理装置200)的系统(诸如,物联网(IoT)、自主系统、GPU服务器、HPC、云和超级计算机等)),以在降低功耗的同时实现最大性能。
图10是示出根据一个或多个实施例的图1的计算装置的示例操作的流程图。图10中的操作可以以示出的顺序和方式来执行。然而,在不脱离示出的示例的精神和范围的情况下,可改变一些操作的顺序,或者可省略一些操作。另外,图10中示出的操作可被并行或同时执行。图10的一个或多个框以及框的组合可由执行指定功能的基于专用硬件的计算机或专用硬件和指令(例如,计算机或处理器指令)的组合来实现。除了下面的图10的描述之外,图1至图9C的描述也适用于图10,并且通过引用包含于此。因此,为了简洁目的,这里可不再重复上面描述。图10的操作可由电子装置的处理器执行。
参照图10,在操作1010中,传感器(例如,图1的传感器100)可感测或检测执行与神经网络相关的操作的至少一个处理装置(例如,图1的处理装置200)的电特性以及至少一个处理装置200的操作频率和温度。
在操作1030中,处理器300可基于与至少一个处理装置200对应的操作模式、至少一个处理装置200的电特性、操作频率和温度来计算要分配给至少一个处理装置200的工作负载。
操作模式可包括高性能模式和高效率模式。高性能模式可指示当使用至少一个处理装置200执行操作时执行操作性能的最大化的模式。高效率模式可指示当使用至少一个处理装置200执行操作时执行功率效率的最大化的模式。
在操作1050中,处理器300可基于操作模式和工作负载来控制电特性、操作频率和温度。
当操作模式是高性能模式时,处理器300可将具有相对大量的计算操作的工作负载分配给至少一个处理装置200之中的使用相对少量的功率的处理装置。当操作模式是高性能模式时,处理器300可将具有相对少量的计算操作的工作负载分配给至少一个处理装置200之中的使用相对大量的功率的处理装置200,并且可控制电特性和操作频率,使得使用相对大量的功率的处理装置200具有与峰值效率对应的电特性和操作频率。
当操作模式是高效率模式时,处理器300可将具有相对大量的计算操作的工作负载分配给至少一个处理装置200之中的以相同的操作频率使用相对低的电压进行驱动的处理装置200。当操作模式是高效率模式时,处理器300可将具有相对大量的计算操作的工作负载分配给至少一个处理装置200之中的在相同的操作频率具有最高功率效率的处理装置。
处理器300可基于要在至少一个处理装置200中执行的操作的AI来控制处理装置200的操作频率和存储器400的操作频率。
当处理装置200的操作频率增加时,处理器300可降低存储器400的操作频率。当处理装置200的操作频率降低时,处理器300可增加存储器400的操作频率。
为了实现最大性能,处理装置200可增加处理装置200的频率以及存储器400的频率。另外,为了实现最大功率效率,处理装置可降低处理装置200的频率以及存储器400的频率。
处理器300可基于输入到处理装置200的输入数据的大小和形状来调整电特性和操作频率。处理器300可使用基于调整后的电特性和调整后的操作频率确定的奖励来对神经网络执行强化学习或训练。处理器300可基于被执行强化学习的神经网络来控制电特性和操作频率。
在此描述的计算装置10、传感器100、处理装置200、处理器300、存储器400和其他装置以及其他组件被实现为硬件组件并且由硬件组件实现。可用于执行在本申请中描述的操作的硬件组件的示例在适当的情况下包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器以及被配置为执行本申请中描述的操作的任何其他电子组件。在其他示例中,执行在本申请中描述的操作的硬件组件中的一个或多个由计算硬件(例如,由一个或多个处理器或计算机)来实现。处理器或计算机可由一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或被配置为以限定的方式响应并执行指令以实现期望的结果的任何其他装置或装置的组合)来实现。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行用于执行在本申请中描述的操作的指令或软件(诸如,操作系统(OS)和在OS上运行的一个或多个软件应用)。硬件组件还可响应于指令或软件的执行来访问、操控、处理、创建和存储数据。为了简明,单数术语“处理器”或“计算机”可用于在本申请中描述的示例的描述中,但是在其他示例中,多个处理器或计算机可被使用,或者处理器或计算机可包括多个处理元件、或多种类型的处理元件、或两者。例如,单个硬件组件、或者两个或更多个硬件组件可由单个处理器、或者两个或更多个处理器、或者处理器和控制器来实现。一个或多个硬件组件可由一个或多个处理器、或者处理器和控制器来实现,并且一个或多个其他硬件组件可由一个或多个其他处理器、或者另外的处理器和另外的控制器来实现。一个或多个处理器、或者处理器和控制器可实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可具有不同的处理配置中的任何一个或多个,不同的处理配置的示例包括:单个处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理和多指令多数据(MIMD)多处理。
图1至图10中示出并且执行在本申请中描述的操作的方法由计算硬件(例如,由一个或多个处理器或计算机)执行,计算硬件被实现为如上所述执行指令或软件以执行在本申请中描述的由所述方法执行的操作。例如,单个操作、或者两个或更多个操作可由单个处理器、或者两个或更多个处理器、或者处理器和控制器来执行。一个或多个操作可由一个或多个处理器、或者处理器和控制器来执行,并且一个或多个其他操作可例如作为处理器实现的方法的相应操作由一个或多个其他处理器、或者另外的处理器和另外的控制器来执行。一个或多个处理器、或者处理器和控制器可执行单个操作、或者两个或更多个操作。
用于控制计算硬件(例如,一个或多个处理器或计算机)以实现硬件组件并执行如上所述的方法的指令或软件可被编写为计算机程序、代码段、指令或它们的任何组合,以单独地或共同地指示或配置处理器或计算机作为机器或专用计算机进行操作,以执行由如上所述的硬件组件和方法执行的操作。在一个示例中,指令或软件包括由一个或多个处理器或计算机直接执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由一个或多个处理器或计算机使用解释器执行的高级代码。可基于附图中示出的框图和流程图以及在说明书中的相应描述使用任何编程语言来编写指令或软件,附图中示出的框图和流程图以及说明书中的相应描述公开用于执行由如上所述的硬件组件和方法执行的操作的算法。
用于控制计算硬件(例如,一个或多个处理器或计算机)实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中,或者被记录、存储或固定在一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、EEPROM、RAM、DRAM、SRAM、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储设备、硬盘驱动器(HDD)、固态驱动器(SSD)、闪存、卡式存储器(诸如,多媒体卡或微型卡(例如,安全数字(SD)或极限数字(XD)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,任何其他装置被配置为以非暂时性方式存储指令或软件以及任何相关联的数据、数据文件和数据结构并将指令或软件以及任何相关联的数据、数据文件和数据结构提供给一个或多个处理器和计算机,使得一个或多个处理器和计算机能够执行指令。在一个示例中,指令或软件以及任何相关联的数据、数据文件和数据结构被分布在联网的计算机系统上,使得指令和软件以及任何相关联的数据、数据文件和数据结构以分布式方式被一个或多个处理器或计算机存储、访问和执行。
虽然本公开包括特定示例,但是在理解本申请的公开之后将清楚的是,在不脱离权利要求书和它们的等同物的精神和范围的情况下,可在这些示例中做出形式和细节上的各种改变。在此描述的示例应仅在描述性意义上被考虑,而不是为了限制的目的。在每个示例中的特征或方面的描述应被视为可适用于其他示例中的相似的特征或方面。如果描述的技术以不同的次序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合、和/或被其他组件或它们的等同物取代或补充,则可实现合适的结果。
因此,公开的范围不是由具体实施方式限定,而是由权利要求及它们的等同物限定,并且权利要求书及它们的等同物的范围内的所有变化应被解释为被包括在公开中。
Claims (24)
1.一种计算装置,包括:
至少一个处理装置,被配置为执行神经网络的操作;
传感器,被配置为感测所述至少一个处理装置的电特性、所述至少一个处理装置的操作频率和所述至少一个处理装置的温度中的至少一个;和
处理器,被配置为基于所述至少一个处理装置的操作模式、感测的所述至少一个处理装置的电特性、感测的所述至少一个处理装置的操作频率和感测的所述至少一个处理装置的温度来计算要分配给所述至少一个处理装置的工作负载,并且基于操作模式和计算的工作负载来控制电特性、操作频率和温度。
2.根据权利要求1所述的计算装置,其中,传感器包括被配置为测量电特性的元件,并且其中,电特性包括施加到所述至少一个处理装置的电压和所述至少一个处理装置的功耗中的至少一个。
3.根据权利要求1所述的计算装置,其中,传感器包括被配置为测量温度的温度传感器。
4.根据权利要求1所述的计算装置,其中,操作模式包括高性能模式和高效率模式中的至少一个。
5.根据权利要求1所述的计算装置,其中,处理器被配置为:响应于操作模式是高性能模式,将具有相对大的量的计算操作的工作负载分配给所述至少一个处理装置之中的使用相对少的量的功率的处理装置。
6.根据权利要求1所述的计算装置,其中,处理器被配置为:响应于操作模式是高性能模式,
将具有相对少的量的计算操作的工作负载分配给所述至少一个处理装置之中的使用相对大的量的功率的处理装置;并且
控制电特性和操作频率,使得使用相对大的量的功率的处理装置具有与峰值效率对应的电特性和操作频率。
7.根据权利要求1所述的计算装置,其中,处理器被配置为:响应于操作模式是高效率模式,将具有相对大的量的计算操作的工作负载分配给所述至少一个处理装置之中的要以相同的操作频率使用相对低的电压驱动的处理装置。
8.根据权利要求1所述的计算装置,其中,处理器被配置为:基于要在所述至少一个处理装置中执行的操作的算术强度来控制所述至少一个处理装置的操作频率和存储器的操作频率。
9.根据权利要求8所述的计算装置,其中,处理器被配置为:响应于所述至少一个处理装置的操作频率增加而增加存储器的操作频率,并且响应于所述至少一个处理装置的操作频率降低而降低存储器的操作频率。
10.根据权利要求8所述的计算装置,其中,处理器被配置为:响应于所述至少一个处理装置的操作频率增加而降低存储器的操作频率,并且响应于所述至少一个处理装置的操作频率降低而增加存储器的操作频率。
11.根据权利要求1至10中的任意一项所述的装置,其中,处理器被配置为:
基于输入到所述至少一个处理装置的输入数据的大小和形状中的至少一个来调整感测的所述至少一个处理装置的电特性和感测的所述至少一个处理装置的操作频率;
使用基于调整后的电特性和调整后的操作频率确定的奖励对神经网络执行强化学习;并且
基于被执行强化学习的神经网络来控制调整后的电特性和调整后的操作频率。
12.一种处理器实现的方法,所述方法包括:
测量至少一个处理装置的电特性、所述至少一个处理装置的操作频率和所述至少一个处理装置的温度,其中,所述至少一个处理装置被配置为执行与神经网络相关的操作;
基于所述至少一个处理装置的操作模式、感测的所述至少一个处理装置的电特性、感测的所述至少一个处理装置的操作频率和感测的所述至少一个处理装置的温度来计算要分配给所述至少一个处理装置的工作负载;和
基于操作模式和计算的工作负载来控制电特性、操作频率和温度,
其中,所述测量的步骤、所述计算的步骤和所述控制的步骤由根据所述处理器执行的指令配置的处理器执行。
13.根据权利要求12所述的方法,其中,电特性包括施加到所述至少一个处理装置的电压和所述至少一个处理装置的功耗中的至少一个。
14.根据权利要求12所述的方法,其中,操作模式包括高性能模式和高效率模式中的至少一个。
15.根据权利要求12所述的方法,其中,由处理器计算工作负载的步骤包括:响应于操作模式是高性能模式,由处理器将具有相对大的量的计算操作的工作负载分配给所述至少一个处理装置之中的使用相对少的量的功率的处理装置。
16.根据权利要求12所述的方法,其中,由处理器计算工作负载的步骤包括:
响应于操作模式是高性能模式,由处理器将具有相对少的量的计算操作的工作负载分配给所述至少一个处理装置之中的使用相对大的量的功率的处理装置;和
由处理器控制电特性和操作频率,使得使用相对大的量的功率的处理装置具有与峰值效率对应的电特性和操作频率。
17.根据权利要求12所述的方法,其中,由处理器计算工作负载的步骤包括:响应于操作模式是高效率模式,将具有相对大的量的计算操作的工作负载分配给所述至少一个处理装置之中的要以相同的操作频率使用相对低的电压驱动的处理装置。
18.根据权利要求12所述的方法,还包括:
由处理器基于要在所述至少一个处理装置中执行的操作的算术强度来控制所述至少一个处理装置的操作频率和存储器的操作频率。
19.根据权利要求18所述的方法,其中,控制所述至少一个处理装置的操作频率和存储器的操作频率的步骤包括:
响应于所述至少一个处理装置的操作频率增加而增加存储器的操作频率;和
响应于所述至少一个处理装置的操作频率降低而降低存储器的操作频率。
20.根据权利要求18所述的方法,其中,控制所述至少一个处理装置的操作频率和存储器的操作频率的步骤包括:
响应于所述至少一个处理装置的操作频率增加而降低存储器的操作频率;和
响应于所述至少一个处理装置的操作频率降低而增加存储器的操作频率。
21.根据权利要求12至20中的任意一项所述的方法,还包括:
基于输入到所述至少一个处理装置的输入数据的大小和形状中的至少一个来调整感测的所述至少一个处理装置的电特性和感测的所述至少一个处理装置的操作频率;
使用基于调整后的电特性和调整后的操作频率确定的奖励对神经网络执行强化学习;和
基于被执行强化学习的神经网络来控制调整后的电特性和调整后的操作频率。
22.一种计算装置,包括:
处理器,被配置为执行指令;和
存储器,存储指令,所述指令在由处理器执行时将处理器配置为:
确定至少一个处理装置的操作模式;
感测所述至少一个处理装置的电压、操作频率和温度;并且
基于确定的操作模式来计算要分配给所述至少一个处理装置的工作负载;
其中,在第一确定的操作模式下,处理器被配置为:将大于预定工作负载阈值的工作负载分配给所述至少一个处理装置之中的具有相对低的功耗的处理装置,并且将小于所述预定工作负载阈值的工作负载分配给所述至少一个处理装置之中的具有相对高的功耗的处理装置;并且
其中,在第二确定的操作模式下,处理器被配置为:将大于所述预定工作负载阈值的工作负载分配给所述至少一个处理装置之中的使用相对低的电压驱动的处理装置。
23.根据权利要求22所述的装置,其中,第一确定的模式是高性能模式,并且第二确定的模式是高效率模式。
24.根据权利要求22所述的装置,其中,处理器被配置为:响应于所述至少一个处理装置的操作频率增加而降低存储器的操作频率。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20210131072 | 2021-10-01 | ||
KR10-2021-0131072 | 2021-10-01 | ||
KR10-2021-0185382 | 2021-12-22 | ||
KR1020210185382A KR20230047872A (ko) | 2021-10-01 | 2021-12-22 | 라지 스케일 컴퓨팅 장치 및 방법 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115936080A true CN115936080A (zh) | 2023-04-07 |
Family
ID=83508527
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211055404.1A Pending CN115936080A (zh) | 2021-10-01 | 2022-08-30 | 用于大规模计算的设备和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230107333A1 (zh) |
EP (1) | EP4160354A3 (zh) |
CN (1) | CN115936080A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714794A (zh) * | 2023-07-06 | 2024-03-15 | 荣耀终端有限公司 | 调频方法、电子设备及可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230273832A1 (en) * | 2023-04-12 | 2023-08-31 | Intel Corporation | Power management for execution of machine learning workloads |
CN117667360B (zh) * | 2024-01-31 | 2024-04-16 | 湘江实验室 | 面向大模型任务的计算与通信融合的智能算网调度方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7036030B1 (en) * | 2002-02-07 | 2006-04-25 | Advanced Micro Devices, Inc. | Computer system and method of using temperature measurement readings to detect user activity and to adjust processor performance |
US20080263324A1 (en) * | 2006-08-10 | 2008-10-23 | Sehat Sutardja | Dynamic core switching |
US20110213998A1 (en) * | 2008-06-11 | 2011-09-01 | John George Mathieson | System and Method for Power Optimization |
US8972759B2 (en) * | 2012-06-29 | 2015-03-03 | Qualcomm Incorporated | Adaptive thermal management in a portable computing device including monitoring a temperature signal and holding a performance level during a penalty period |
US8996902B2 (en) * | 2012-10-23 | 2015-03-31 | Qualcomm Incorporated | Modal workload scheduling in a heterogeneous multi-processor system on a chip |
US9952651B2 (en) * | 2015-07-31 | 2018-04-24 | International Business Machines Corporation | Deterministic current based frequency optimization of processor chip |
TWI627525B (zh) * | 2016-08-18 | 2018-06-21 | 瑞昱半導體股份有限公司 | 電壓與頻率調整裝置、系統晶片以及電壓與頻率調整方法 |
US10459517B2 (en) * | 2017-03-31 | 2019-10-29 | Qualcomm Incorporated | System and methods for scheduling software tasks based on central processing unit power characteristics |
US10147464B1 (en) * | 2017-06-20 | 2018-12-04 | Apple Inc. | Managing power state in one power domain based on power states in another power domain |
US11347679B2 (en) * | 2018-02-08 | 2022-05-31 | Alibaba Group Holding Limited | Hybrid system-on-chip for power and performance prediction and control |
EP3572909A1 (en) * | 2018-05-25 | 2019-11-27 | Nokia Solutions and Networks Oy | Method and apparatus of reducing energy consumption in a network |
US10747286B2 (en) * | 2018-06-11 | 2020-08-18 | Intel Corporation | Dynamic power budget allocation in multi-processor system |
US11281279B2 (en) * | 2019-04-02 | 2022-03-22 | Apple Inc. | Tracking power consumption using multiple sampling frequencies |
US11494238B2 (en) * | 2019-07-09 | 2022-11-08 | Qualcomm Incorporated | Run-time neural network re-allocation across heterogeneous processors |
-
2022
- 2022-08-30 CN CN202211055404.1A patent/CN115936080A/zh active Pending
- 2022-09-01 US US17/901,363 patent/US20230107333A1/en active Pending
- 2022-09-30 EP EP22198986.6A patent/EP4160354A3/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117714794A (zh) * | 2023-07-06 | 2024-03-15 | 荣耀终端有限公司 | 调频方法、电子设备及可读存储介质 |
CN117714794B (zh) * | 2023-07-06 | 2024-12-20 | 荣耀终端有限公司 | 调频方法、电子设备、可读存储介质及程序产品 |
Also Published As
Publication number | Publication date |
---|---|
EP4160354A3 (en) | 2023-07-26 |
EP4160354A2 (en) | 2023-04-05 |
US20230107333A1 (en) | 2023-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115936080A (zh) | 用于大规模计算的设备和方法 | |
US11281832B2 (en) | Device for generating verification vector for circuit design verification, circuit design system, and reinforcement learning method of the device and the circuit design system | |
US20200265307A1 (en) | Apparatus and method with multi-task neural network | |
CN116909378A (zh) | 一种基于深度强化学习的gpu动态能源效率优化运行时方法及系统 | |
EP4040341B1 (en) | Processor, method of operating the processor, and electronic device including the same | |
KR102506991B1 (ko) | 리젝션을 이용하여 학습된 뉴럴 네트워크를 이용한 이상 검출 장치 | |
US20210279587A1 (en) | Method and apparatus for neural network code generation | |
US11681354B2 (en) | Operating method of power optimization scheduler and computing apparatus including power optimization scheduler | |
US12131254B2 (en) | Method and apparatus with neural network distributed processing | |
CN114154615A (zh) | 基于硬件性能的神经架构搜索方法和设备 | |
US20240153070A1 (en) | Method and device with defect detection | |
US20220206698A1 (en) | Method and apparatus with memory management and neural network operation | |
US20230058341A1 (en) | Neural network training method and apparatus using trend | |
US20220237436A1 (en) | Neural network training method and apparatus | |
US11507835B2 (en) | Neural network data updates using in-place bit-addressable writes within storage class memory | |
US12223444B2 (en) | Accelerator for processing inference tasks in parallel and operating method thereof | |
KR20230047872A (ko) | 라지 스케일 컴퓨팅 장치 및 방법 | |
US20240054024A1 (en) | Apparatus and method with computing system control | |
US20240061972A1 (en) | Method and apparatus with performance modeling | |
US11990187B2 (en) | Method and apparatus with memory array programming | |
US20210397557A1 (en) | Method and apparatus with accelerator processing | |
US20220075677A1 (en) | Method and apparatus with neural network profiling | |
US20240211737A1 (en) | Apparatus and method with encrypted data neural network operation | |
US20230238085A1 (en) | Method and apparatus for determining molecular conformation | |
CN114296686A (zh) | 神经网络操作方法和设备 |
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 |