Program-independent Hardware Stage Mapping for Compile Time Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for mapping programs to hardware arrangements are inefficient, requiring significant computational resources and time, especially when dealing with complex programs or hardware updates, and are often specific to a particular hardware configuration, necessitating re-mapping upon changes.
Innovation Solution
A method that analyzes hardware stages to generate program-independent descriptions, allowing for non-overlapping mappings between program operations and hardware stages, which are then scheduled for execution, enabling reuse and reducing computational effort across multiple programs and hardware configurations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Loss of time
If traditional program-to-hardware mapping methods are used, then mapping can be performed, but compile time and computational resources are excessive
Solution Approach 1:
The mapping process is divided into distinct phases: hardware analysis phase (generating program-independent hardware descriptions) and program analysis phase (generating mappings using pre-computed hardware descriptions). This segmentation allows hardware characteristics to be pre-analyzed and stored, avoiding redundant analysis when mapping different programs to the same hardware, thereby reducing compile time while maintaining mapping quality.
Solution Approach 2:
Hardware descriptions are generated in advance during a hardware analysis phase, before actual program mapping occurs. These program-independent hardware descriptions capture essential hardware characteristics and are stored for reuse. When mapping programs, the system retrieves and applies pre-computed hardware descriptions rather than re-analyzing hardware architecture, significantly reducing computational effort and compile time.
2Reliability
If mapping is specific to particular hardware configuration, then accurate mapping is achieved, but re-mapping is required upon hardware changes
Solution Approach 1:
The system generates program-independent hardware descriptions that serve multiple purposes and are applicable to different programs mapping to the same hardware configuration. These universal hardware descriptions capture essential hardware characteristics in a standardized format that can be reused across multiple mapping operations, providing both accuracy for the specific hardware and flexibility for adapting to different programs without requiring re-mapping of hardware characteristics.
Solution Approach 2:
Hardware architecture analysis is performed in advance, creating a reusable hardware description that remains valid across multiple program mappings. When hardware configuration changes occur, only the hardware analysis phase needs to be re-executed to generate new program-independent descriptions, while the program analysis phase can continue using the updated hardware descriptions, reducing the impact of hardware changes and eliminating the need to re-map individual programs.
3Manufacturing precision
If comprehensive hardware analysis is performed, then mapping quality is improved, but computational resources and engineering effort increase
Solution Approach 1:
The comprehensive hardware analysis is segmented into a one-time hardware analysis phase that generates program-independent descriptions, followed by a lighter program analysis phase that reuses these descriptions. This segmentation concentrates the computational complexity into a preliminary hardware characterization step, allowing subsequent program mappings to benefit from high-quality hardware descriptions without incurring the same computational burden, thus improving mapping quality while managing computational resources efficiently.
Solution Approach 2:
The system transforms detailed hardware characteristics into standardized program-independent parameters and descriptions during the hardware analysis phase. By changing the representation of hardware features from detailed implementation-specific descriptions to abstracted, parameterized hardware descriptions, the system maintains mapping quality through comprehensive hardware understanding while reducing the complexity of subsequent mapping operations through standardized parameter reuse.
Data Source
AI summary
A method of mapping a program to a hardware arrangement comprising a plurality of interconnected hardware stages. The plurality of hardware stages in the hardware arrangement is analysed to generate, for each stage, a program-independent hardware description defining an operation performed by the stage and inputs and outputs of the stage. The program-independent hardware descriptions are then used when analysing the program to generate a non-overlapping set of mappings between groups of adjacent program primitive operations in the program and groups of interconnected hardware stages in the hardware arrangement. Having generated the non-overlapping set of mappings, the groups of adjacent program primitive operations are scheduled into an order for execution.


