Neural Network Hardware Architecture Optimization via Compiler Heuristics
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing manual design approaches for neural network hardware architectures are inefficient, as they lack optimization for specific use cases and configurable variables, leading to suboptimal performance in terms of power, area, and performance.
Innovation Solution
An automated method for generating hardware configuration parameters for neural network hardware accelerators based on hardware and compiler constraints, using a decision-making component to compute performance metrics and update parameters iteratively, optimizing for Power-Performance-Area (PPA) constraints.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If manual design approaches are used for hardware architectures, then design decisions can be made using previous information and intuition, but the design process is inefficient and does not result in optimized hardware for specific uses
Solution Approach 1:
The system performs self-configuration by automatically determining hardware architecture parameters based on neural network specifications and performance constraints, eliminating the need for manual trial-and-error design processes while achieving optimized hardware configurations
Solution Approach 2:
The system automatically adjusts multiple hardware configuration parameters (memory size, multiplier topology, hardware accelerator configuration) based on performance metrics and constraints, transforming the manual parameter selection process into an automated optimization process
2Productivity
If multiple hardware accelerators are chained together to form a computation graph, then processing performance is increased, but the complexity of hardware configuration and optimization increases
Solution Approach 1:
The system provides a universal configuration approach that handles multiple hardware accelerators and various neural network types through a single automated process, managing the complexity of chained hardware accelerators by applying consistent configuration methods across different hardware topologies
3Reliability
If manual design approaches are used, then working solutions can be provided, but the solutions are not optimized across the wide space of configurable variables
Solution Approach 1:
The system uses performance metrics as feedback to iteratively optimize hardware configuration parameters, computing performance metrics based on constraints and using this feedback to determine optimized hardware architecture, ensuring both reliable working solutions and performance optimization
Data Source
AI summary
The described techniques provide for an automated process of hardware design using main applications (e.g., use cases) and a modeling heuristic of a compiler. Hardware may be optimized and designed based on the knowledge of the compiler for the hardware and firmware information. For instance, a user may define constraints (e.g., area constraints, power constraints, performance constraints, accuracy degradation constraints, etc.) and the changes of compilation heuristics and hardware parameters may be optimized to efficiently achieve the user defined constraints. Accordingly, hardware configuration parameters may be optimized based on the neural network's compilation process (e.g., actual compiler constraints) and optimization of power, performance, and area (PPA) constraints (e.g., user defined constraints). Specific neural processor (SNP) hardware may thus be designed based on the optimized hardware configuration parameters (e.g., via modeling heuristics of its compiler and main applications informed via user defined constraints or PPA constraints).


