Compiler Mixed Integer Model for Dataflow Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current compilers for data parallel and dataflow applications, such as convolutional neural networks, face challenges in efficiently mapping neural network operators and data flow to coarse-grain reconfigurable processor (CGRP) hardware, leading to suboptimal execution performance due to complex requirements for pipelining, data routing, and synchronization in massively parallel architectures.
Innovation Solution
A method involving a Mixed Integer (MI) model is used to determine globally optimized mapping decisions for mapping dataflow applications to CGRP hardware, employing an MI solver to solve equations that include objective functions and constraints, thereby optimizing resource allocation and execution efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If current compilers map neural network operators to CGRP hardware, then the application can execute on the target platform, but the execution performance is suboptimal due to complex pipelining, data routing, and synchronization requirements
Solution Approach 1:
The patent transforms the compiler optimization problem into a mathematical optimization problem by changing the parameters from heuristic mapping decisions to mixed-integer linear programming variables. The objective function and constraints are formulated in terms of execution time, resource allocation, and dataflow timing parameters, allowing systematic optimization of throughput while managing complexity through mathematical modeling rather than ad-hoc compiler logic.
Solution Approach 2:
The patent introduces an intermediate mathematical model (MILP formulation) that mediates between the high-level application description and the low-level hardware mapping. This intermediary layer translates compiler optimization goals into solvable mathematical equations, bridging the gap between application requirements and hardware constraints without requiring direct complex compiler logic.
2Productivity
If complex pipelining and synchronization are implemented in massively parallel architectures, then execution efficiency can be improved, but mapping complexity and optimization difficulty increase significantly
Solution Approach 1:
The patent replaces the mechanical/compiler-based optimization process with a mathematical optimization system. Instead of using complex compiler algorithms to manually manage pipelining and synchronization, the patent formulates these as mathematical constraints and objective functions in an MILP model, allowing automated solvers to find optimal mappings without manual intervention.
Solution Approach 2:
The patent performs preliminary formulation of the mapping problem into mathematical equations before optimization. By pre-defining the objective function and constraints that capture pipelining and synchronization requirements, the complex optimization is transformed into a structured mathematical problem that can be solved systematically rather than through iterative compiler passes.
3Loss of time
If resource allocation is optimized for specific workloads, then execution latency is reduced, but adaptability to different applications decreases
Solution Approach 1:
The patent creates a universal MILP formulation that can handle multiple application types and hardware configurations through a single optimization framework. The mathematical model is designed to be application-agnostic, accepting different objective functions and constraints based on the specific workload and hardware platform, thus providing both optimized latency and broad adaptability through one versatile system.
Data Source
AI summary
A method comprises a compiler generating a MI (mixed integer) model to determine mapping decisions to map a dataflow application to hardware of a computing system to execute the application. The MI model comprises MI equations to solve by an MI solver. The MI equations include equations of an objective function corresponding to an optimization objective. The MI equations can comprise decision variables and equations and constraint variables and equations. The compiler outputs the MI model to the MI solver and invokes the MI solver to compute an MI solution comprising solutions to equations among the equations included in the MI model. The compiler receives the MI solution and generates a globally optimized mapping decision based on the MI solution. The MI solver can comprise a commercial program to solve MI linear equations. A computer program product and a computing system can implement the method.


