Dimension-Based Search Space for Neural Network Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current compilers for reconfigurable dataflow processing systems face challenges in efficiently mapping neural network operators and data flow to coarse-grain reconfigurable processor (CGRP) processing and memory elements, particularly in determining optimal configurations for executing convolutional neural networks, which requires complex resource allocation and synchronization across parallel and pipelined computations.
Innovation Solution
A method is introduced that generates a dimension-based search space (DBSS) using Named Nodes and Named Dimensions, allowing the computing system to query and determine operators, matrices, and their attributes based on dimension names, enabling efficient mapping of neural network applications to CGRP hardware resources through an application programming interface (API).
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If current compilers map neural network operators to CGRP processing elements, then neural network execution is achieved, but resource allocation complexity and mapping difficulty increase significantly
Solution Approach 1:
The patent segments the CGRP system into distinct processing elements (PEs) and memory elements, each with specific functions. The compiler divides the neural network computation into operations that can be mapped to these segmented components, managing complexity by organizing the system into manageable functional units with defined roles in the computation pipeline.
Solution Approach 2:
The patent introduces intermediate representations and compiler abstractions that serve as mediators between the high-level neural network operations and the low-level CGRP hardware mapping. These intermediaries simplify the mapping process by providing structured interfaces that bridge the gap between algorithmic descriptions and hardware implementation details.
2Productivity
If current compilers map data flow to CGRP memory elements, then neural network execution is achieved, but mapping difficulty and resource allocation complexity increase
Solution Approach 1:
The patent segments memory elements into distinct storage units with specific functions (e.g., input buffers, weight buffers, output buffers). This segmentation provides clear mapping targets for different data types in neural network computations, reducing mapping difficulty by organizing memory resources into functionally distinct categories that correspond to operational requirements.
Solution Approach 2:
The patent assigns specific memory elements to specific data types and operational stages based on their local functional requirements. Different memory elements have optimized characteristics suited to their specific purposes (e.g., high-speed buffers for frequent access, larger capacity for weight storage), making the mapping process more straightforward by matching data access patterns to appropriately characterized memory resources.
3Productivity
If complex resource allocation is performed for parallel computations, then computational performance improves, but system complexity and synchronization requirements increase
Solution Approach 1:
The patent employs dynamic resource allocation and pipeline staging that adapts to the specific computational requirements of different neural network operations. The compiler generates dynamic control logic that manages data flow and synchronization between parallel processing elements based on runtime conditions, reducing fixed synchronization overhead while maintaining high computational performance through flexible resource utilization.
Solution Approach 2:
The patent implements pipelined execution that maintains continuous useful action across parallel processing elements. By organizing computations into overlapping pipeline stages where data flows continuously through the system, the patent reduces idle time and synchronization barriers, keeping processing elements actively engaged in productive work rather than waiting for synchronization events.
Data Source
AI summary
A method comprises a compiler determining operators and matrices of an application model. The compiler generates a dimension-based search space (DBSS) comprising Named Nodes corresponding to the operators. The Named Nodes comprise a Named DIM corresponding to a matrix associated with an operator. The Named DIM comprises a DIM Name corresponding to a dimension of a row or column of the matrix. The DBSS comprises an application programming interface (API) to determine operators, matrices, and/or attributes of operators/matrices of the application model using the DIM Names. The method includes the compiler determining the operator, the matrix, and the Named DIM and generating an entry in the DBSS that includes a Named Node corresponding to the operator, a Named DIM corresponding to the matrix and including the DIM Name. A computing system and/or a computer program product can implement the method.


