SIMD Code Generation via Reverse Instruction Queue Scanning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for generating SIMD instructions often result in reduced execution efficiency due to increased data transfer between SIMD registers, as they sequentially combine instructions from the beginning of the instruction queue, leading to longer critical paths and lower performance.
Innovation Solution
An information processing apparatus that generates SIMD instructions by scanning the instruction queue from the end to the beginning, prioritizing combinations of instructions that minimize data transfer between SIMD registers, and selecting candidate instructions based on their dependency relationships and calculation types to create efficient SIMD instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If instructions are combined sequentially from the beginning of the instruction queue, then the code generation process is simple, but data transfer between SIMD registers increases and execution efficiency decreases
Solution Approach 1:
The patent inverts the conventional approach by scanning the instruction queue from the end to the beginning instead of from the beginning. This reversal allows the code generation process to prioritize instruction combinations that minimize data transfer between SIMD registers, thereby improving execution efficiency while maintaining reasonable code generation complexity through a systematic reverse-scanning methodology
2Productivity
If instructions are combined to maximize parallel degree, then more operations can be executed in parallel, but critical path length increases and execution time increases
Solution Approach 1:
The patent applies preliminary action by analyzing dependency relationships between instructions before combining them into SIMD instructions. By examining which instructions depend on others and potential data transfer requirements in advance, the system can select instruction combinations that achieve high parallel degree while avoiding creation of excessively long critical paths, thus optimizing both parallelism and execution time
3Ease of manufacture
If any two instructions with same calculation type are combined, then SIMD instruction generation is straightforward, but data transfer between SIMD registers increases
Solution Approach 1:
The patent applies local quality by differentiating the selection criteria for instructions based on their specific characteristics, particularly their data dependency relationships. Instead of uniformly combining any two instructions with the same calculation type, the system selectively combines instructions that have compatible data dependencies and minimal transfer requirements, thereby reducing data transfer overhead while maintaining ease of generation through a structured selection process
Data Source
AI summary
A computer-readable recording medium having stored therein a program for causing a computer to execute a digital signature process includes determining that a first specific instruction for executing parallel calculations of the same type, each calculation operating on a different piece of data, is generated by combining first and second instructions included in a first code, retrieving, from the first code, a third instruction for calculating data referenced by the first instruction and a fourth instruction for calculating data referenced by the second instruction, and selecting the third and fourth instructions as candidates of instructions to be combined with each other preferentially to generate a second specific instruction which is different from the first specific instruction.


