Systems and methods for controlling instantaneous current changes in parallel processors

US11029745B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11029745-B2
Application numberUS-201816184934-A
CountryUS
Kind codeB2
Filing dateNov 8, 2018
Priority dateAug 31, 2018
Publication dateJun 8, 2021
Grant dateJun 8, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Systems and methods are disclosed method for controlling instantaneous current changes in parallel processors with arrays of parallel computing elements, such as neural processors. An exemplary method comprises monitoring the array of computing elements and determining a transition from a first activity level of the array to a second activity level of the array, such as an idle-to-active or active-to-idle transition. Once a transition is determined, the array is selectively controlled to minimize the instantaneous current change from the transition from the first activity level to the second activity level.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for controlling an instantaneous current change in a parallel processor, the method comprising: monitoring an array of computing elements of the processor, the computing elements configured to operate independently of each other in parallel; determining a transition from a first activity level of the array to a second activity level of the array; and selectively controlling the array to minimize the instantaneous current change from the transition from the first activity level to the second activity level; wherein selectively controlling the array comprises controlling a frequency of a core clock for the processor; and controlling the frequency of the core clock comprises first decreasing the frequency of the core clock and then incrementally increasing the frequency of the core clock; and the first activity level is an idle state and the second activity level is an active state. 2. The method of claim 1 , wherein: determining the transition comprises predicting a future change from the first activity level to the second activity level. 3. The method of claim 1 , wherein: determining the transition comprises determining a present change from the first activity level to the second activity level; the array comprises a plurality of portions, each portion comprising a set of the computing elements; and selectively controlling the array comprises incrementally transitioning each of the plurality of portions of the array from the first activity level to the second activity level until all of the plurality of portions are in the second activity level. 4. The method of claim 3 , wherein: transitioning each of the plurality of portions of the array from the first activity level to the second activity level comprises providing operands to the computing elements of one or more of the plurality of portions of the array, the operands causing the computing elements to execute. 5. The method of claim 4 , wherein the operands causing the computing elements to execute are dummy operands for which no output is recorded, the method further comprising: once all of the plurality of portions of the array are in the second activity level, providing real operands to all of computing elements of the array. 6. The method of claim 4 , wherein the operands causing the computing elements to execute are real operands, the method further comprising: delaying the real operands for the portions of the array which have not transitioned to the second activity level; and re-aligning the timing of the outputs of the computing elements of the portions of the array. 7. A system for controlling an instantaneous current change in a parallel processor, the system comprising: an array of computing elements of the processor, the computing elements configured to operate independently of each other in parallel; a controller configured to determine a transition from a first activity level of the array to a second activity level of the array; and the controller configured to control the array to minimize the instantaneous current change from the transition from the first activity level to the second activity level; the controller further comprises a clock rate controller configured to control the frequency of a core clock of the processor; the clock rate controller is further configured to first decrease the frequency of the core clock and then incrementally increase the frequency of the core clock, wherein the first activity level is an idle state and the second activity level is an active state. 8. The system of claim 7 , wherein: the controller comprises an activity monitor configured to predict a future change from the first activity level to the second activity level. 9. The system of claim 7 , wherein: the controller is configured to determine the transition by determining a present change from the first activity level to the second activity level; the array comprises a plurality of portions, each portion comprising a set of the computing elements; and the controller is configured to incrementally transition each of the plurality of portions of the array from the first activity level to the second activity level until all of the plurality of portions are in the second activity level. 10. The system of claim 9 , wherein: the controller is further configured to incrementally transition each of the plurality of portions of the array from the first activity level to the second activity level by providing operands to the computing elements of one or more of the plurality of portions of the array, the operands causing the computing elements to execute. 11. The system of claim 10 , wherein: the operands causing the computing elements to execute are dummy operands for which no output is recorded; and the controller is further configured to cause real operands to be provided to all of the computing elements of the array once all of the portions of the array are in the second activity level. 12. The system of claim 10 , wherein the operands causing the computing elements to execute are real operands, the system further comprising: one or more delay elements configured to delay providing the real operands for the portions of the array which have not transitioned to the second activity level; and an output element configured to re-align the timing of the outputs of the computing elements of the portions of the array while portions of the array have not transitioned to the second activity level. 13. The system of claim 7 , wherein the parallel processor is a neural processor. 14. A system for controlling an instantaneous current change in a parallel processor, the system comprising: an array of computing elements of the processor, the computing elements configured to operate independently of each other in parallel; a local memory coupled to the array of computing elements, the local memory configured to buffer a stream of operands provided to the array of computing elements; the local memory is configured to receive a plurality of operands in an order different from an order in which the local memory provides the plurality of operands to the array of computing elements; and a controller configured to determine, based on movement of the operands through the local memory, a transition from a first activity level of the array to a second activity level of the array; the controller is configured to control the array to minimize the instantaneous current change from the transition from the first activity level to the second activity level, the controller further comprises: an activity monitor which detects the first activity and second activity levels of the array, and a clock rate controller; the clock rate controller configured to control the frequency of a core clock of the processor. 15. The system of claim 14 , wherein: the local memory comprises an input first-in first-out (FIFO) buffer configured to store the operands; and the activity monitor is configured to predict a future change from the first activity level to the second activity level based on a fill level of the input FIFO buffer. 16. The system of claim 15 , wherein: the first activity level is an active state and the second activity level is an idle state; and the activity monitor is configured to cause the clock rate controller to incrementally decrease the frequency of the core clock in response to a prediction of a transition from the active state to the idle state. 17. The system of claim 16 , further comprising an output FIFO buffer configured to store results provided by the array of com

Assignees

Inventors

Classifications

  • G06F1/324Primary

    by lowering clock frequency · CPC title

  • Energy efficient computing, e.g. low power processors, power management or thermal management · CPC title

  • Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands · CPC title

  • Monitoring of events, devices or parameters that trigger a change in power modality · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11029745B2 cover?
Systems and methods are disclosed method for controlling instantaneous current changes in parallel processors with arrays of parallel computing elements, such as neural processors. An exemplary method comprises monitoring the array of computing elements and determining a transition from a first activity level of the array to a second activity level of the array, such as an idle-to-active or act…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification G06F1/324. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jun 08 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).