SIMD Code Generation via Operation Tree Subsequence Analysis
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for generating SIMD instructions face inefficiencies due to the inability to effectively combine instructions from operation trees with different structures and levels, leading to increased computation and resource utilization issues.
Innovation Solution
A computer-readable storage medium and program that generates SIMD instructions by creating operation trees, computing operation sequences, finding longest common subsequences, and evaluating resource utilization to select optimal instruction combinations, allowing for efficient combination of instructions across different tree structures and levels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If all combinations of instructions are searched irrespective of tree structures, then more instruction combinations can be found, but computation amount increases and efficiency is reduced
Solution Approach 1:
The patent segments the instruction search space by dividing instructions into groups based on their operation trees. Instead of searching all instructions uniformly, the method partitions them into segments (groups) that can be independently processed and combined, reducing the overall search complexity while maintaining comprehensive coverage of valid combinations.
Solution Approach 2:
The patent performs preliminary actions by pre-processing instructions into operation trees and grouping them before the actual combination search. This preliminary organization of data structures enables more efficient searching in subsequent steps, avoiding the need to analyze all instruction combinations from scratch.
2Ease of operation
If instructions at the same level in operation trees are combined, then the search process is simplified, but combinations at different levels are missed
Solution Approach 1:
The patent extends the combination search from a single dimension (same level only) to multiple dimensions by allowing combinations across different levels of operation trees. The method introduces a hierarchical search approach that traverses multiple tree levels, enabling instructions at different hierarchical positions to be combined when appropriate.
Solution Approach 2:
The patent creates a universal combination mechanism that can handle both same-level and cross-level instruction combinations through a unified search framework. The operation tree structure and search algorithm are designed to be flexible, accommodating various combination scenarios without requiring separate processing paths.
3Adaptability or versatility
If operation trees with different structures are combined, then more instruction combinations are possible, but the complexity of finding valid combinations increases
Solution Approach 1:
The patent manages complexity by dynamically adjusting search parameters such as combination depth, tree traversal order, and grouping criteria based on the specific characteristics of the operation trees being processed. This adaptive parameter adjustment allows the system to handle different tree structures efficiently without requiring a completely different search strategy for each case.
Data Source
AI summary
An information processing apparatus generates first and second operation trees representing a dependency relationship among the instructions included in a first code, and computes first and second operation sequences from the first and second operation trees. Then, the information processing apparatus computes the longest ones of operation subsequences common to the first and second operation sequences, evaluates, for each longest operation subsequence, the utilization of computing resources used for executing the combinations of instructions of the first and second operation trees corresponding to the operations included in the longest operation subsequence, and selects a combination pattern of instructions indicated by any one of the longest operation subsequences on the basis of the evaluation results.


