An Architecture-Level Energy Estimation Methodology for Accelerator Designs

An Architecture-Level Energy Estimation Methodology for Accelerator Designs

Accelergy: An Architecture-Level Energy Estimation Methodology for Accelerator Designs Yannan Nellie Wu Joel S. Emer Vivienne Sze MIT NVIDIA, MIT MIT Cambridge, MA Westford, MA Cambridge, MA [email protected] [email protected] [email protected] ABSTRACT prerequisite (e.g., at the architectural stage). Architecture-level en- With Moore’s law slowing down and Dennard scaling ended, energy- ergy estimators take in an architecture description and runtime efficient domain-specific accelerators, such as deep neural network action counts for a specific workload, and directly estimate the (DNN) processors for machine learning and programmable network energy consumption. The architecture description describes the switches for cloud applications, have become a promising way for components in the design (e.g., there is a cache and an ALU in the hardware designers to continue bringing energy efficiency improve- processor design), and their respective hardware attribute values ments to data and computation-intensive applications. To ensure (e.g., the cache is 32kB and the ALU has a data-width of 64 bits). The the fast exploration of the accelerator design space, architecture- runtime action counts describe how the components in the design level energy estimators, which perform energy estimations without are used (e.g., the cache is read 200 times). In this work, we propose requiring complete hardware description of the designs, are critical Accelergy, an architecture-level energy estimation methodology to designers. However, it is difficult to use existing architecture- that addresses the potential challenges associated with early-stage level energy estimators to obtain accurate estimates for accelerator energy estimations of accelerator designs. designs, as accelerator designs are diverse and sensitive to data patterns. This paper presents Accelergy, a generally applicable en- 1.1 Related Work ergy estimation methodology for accelerators that allows design Existing architecture-level energy estimation tools can be classified specifications comprised of user-defined high-level compound com- into three categories: component estimators, processor estimators ponents and user-defined low-level primitive components, which for designs that are composed of a fixed set of components, and can be characterized by third-party energy estimation plug-ins. An design-specific energy tables for accelerator designs. example with primitive and compound components for DNN accel- Component estimators focus on generating energy models for erator designs is also provided as an application of the proposed a specific type of components rather than the entire design [9, methodology. Overall, Accelergy achieves 95% accuracy on Eyeriss, 15, 21]. CACTI [15] focuses on the energy estimation of memory a well-known DNN accelerator design, and can correctly capture components, such as caches and SRAMs. Orion [9, 21] provides the energy breakdown of components at different granularities. The analytical models for the energy estimation of networks-on-chip Accelergy code is available at http://accelergy.mit.edu. (NoCs). Although these component estimators provide an in-depth understanding of the specific component’s energy consumption, 1 INTRODUCTION they cannot generate a holistic view of the entire design. Since Moore’s law has been slowing down and Dennard Scaling Processor estimators focus on processor energy estimations for de- has ended, energy consumption has become a critical concern for signs with architectures that are composed of a fixed and limited set hardware designs. Domain-specific accelerators have become an of compound components. A compound component is a high-level essential alternative to general-purpose processors, which often function unit that contains several low-level primitive components result in the high energy consumption and slow processing when or other high-level function units as its sub-components (e.g., a running data and computation intensive applications [7]; accord- cache is a compound component with comparators and SRAM ingly, in recent years, many hardware designers achieve energy modules as its sub-components). Among such tools, Wattch [2], efficiency improvements by using accelerator designse.g. ( , DNN McPAT [14] and PowerTrain [12] focus on CPU energy estimations, processors for machine learning [1, 4, 5, 17] and programmable and GPUWattch [13] focuses on GPU energy estimations. Describ- network switches for cloud applications [8, 20]). These accelerators ing designs using compound components allows the runtime action are designed to exploit the characteristics of specific application counts to be generated in terms of high-level compound actions, domains, and thus improve energy efficiency. which are defined as composites of the low-level actions ofthe Often, accurate energy consumption is predicted only after com- sub-components. Therefore, when the low-level details of the com- pleting the physical design layout. Although post-layout energy pound action change, the runtime action counts do not need to be estimation gives high accuracy, it hinders design space exploration regenerated, speeding up the energy evaluation process. However, for two reasons: (1) significant design effort overhead, as designers these existing processor estimators use a fixed and limited set of have to complete almost the entire design to obtain the post-layout compound components, and therefore do not provide the flexibility information, and (2) slow simulation time, as the estimation is done for designers to define arbitrary accelerator designs, as shown in on gate-level components. To achieve faster design space explo- Fig. 1. Since accelerator designs vary significantly from one to an- ration, the energy estimation needs to be performed at an earlier other (e.g., DNN accelerators vs. database accelerators), providing a design stage where the complete hardware description is not a flexible way to model the diverse design space becomes essential. 5 4.7 4 3 2.4 1.8 2.1 2 1.0 1 0 Figure 1: The CPU components cannot describe accelerators. Figure 2: Post-layout energy consumption of different ac- Design-specific energy tables for processor energy efficiency anal- tions on a flipflop-based register file with write enable. En- ysis provide high accuracy for specific target design cases [1, 10, 16, ergy normalized to the idle register’s energy per action. 19, 22]. However, these tools only generate design-specific tables for those components that are specific to the design associated with the tool. For example, SnaPEA’s [1] energy modeling table uses However, the users of conventional processor estimators are nei- primitive components with predefined attributes, such asa 16-bit ther able to express that the design contains a special component fixed point PE. Such tables are too design-specific to be used by nor can they characterize the special component using their own other designs. Furthermore, many of these generated tables only third-party primitive component estimators. have entries for the primitive components instead of the compound components. Such exceedingly fine-grained tables make the en- 1.3 Contributions ergy evaluation tedious and describing designs using hundreds of To address the above mentioned challenges, we present Accelergy1, low-level primitive components might result in overlooking com- a generally applicable methodology for performing architecture- ponents. level energy estimation on accelerator designs. This paper: 1.2 Additional Challenges • presents a framework that allows users to – describe their design with their own set of design-specific Since different types of actions on a componente.g. ( , read and write compound components with attributes and actions. are two different actions on a memory block) result in distinct – describe compound components composed of primitive energy consumption, to achieve accurate energy estimations of components whose attributes and actions are character- accelerator designs, designers are required to create a large enough ized by energy estimation plug-ins. repertoire of action types for each component to accurately reflect – generate energy estimations for the design with workload the energy consumption of the component. Furthermore, since generated runtime action counts. accelerators are highly specialized for specific applications, they • provides an example application of Accelergy for DNN ac- tend to exploit the domain-specific data patterns by efficiently or- celerators. chestrating data (e.g., performing repeated accesses to the same address of a memory block for data reuse). Thus, for accelerators, 2 HIGH-LEVEL FRAMEWORK these types of actions on components appear more frequently than Fig. 3 shows a high-level block diagram of the Accelergy estima- they do in general-purpose processors. Fig. 2 shows an example of tion framework. Similar to the existing architecture-level energy the post-layout energy consumption of actions on a flipflop-based estimators, Accelergy takes in an architecture description and run- register file with write enable. Among the listed actions, *_rand time action counts, which are based on a specific workload that is means access to the memory with random address (and data), *_re- generated by performance models (e.g., cycle-accurate simulators peat means the address and data of the action are always the same, or analytical models). In addition to the architecture description and write_cst_data means the same data is written across multiple and runtime action

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    8 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us