Instruction Dependency Tree Height Adjustment for SIMD Generation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for generating SIMD instructions are inefficient due to the difficulty in finding optimal combinations of instructions that can be executed in parallel, as they rely on comparing instructions at the same level, which may not account for all possible combinations across trees with different structures, leading to suboptimal parallelism and increased computational complexity.
Innovation Solution
A computer program that generates trees representing dependency relationships among instructions, adjusts the height of shorter trees by inserting pseudo instructions, shuffles instruction orders based on operation types, and compares these adjusted trees to determine combinations of instructions that can be combined into SIMD instructions, thereby enhancing the search for parallel executable instructions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If instructions are combined by comparing only at the same level in dependency trees, then the search process is simple, but optimal combinations across trees with different structures are missed
Solution Approach 1:
The patent applies parameter changes by transforming dependency trees through height adjustment (adding dummy instructions to shorter trees) and reordering operations. This standardizes the tree structure parameters to enable systematic comparison of instructions at corresponding levels, thereby discovering optimal parallel combinations that would otherwise be missed due to structural differences.
Solution Approach 2:
The patent performs preliminary actions by pre-processing the dependency trees to adjust their heights and reorder operations before the actual combination search. This preparation step ensures that trees are in a standardized form, making the subsequent comparison process more effective and comprehensive.
2Productivity
If all combinations of instructions are searched irrespective of tree structures, then optimal combinations are found, but computational amount increases significantly
Solution Approach 1:
The patent changes the structural parameters of dependency trees by adjusting heights and reordering operations to create a standardized representation. This transformation enables the system to search for optimal combinations more efficiently by working with normalized tree structures rather than all possible raw combinations, thereby reducing computational overhead while maintaining optimization effectiveness.
Solution Approach 2:
The patent performs preliminary standardization of tree structures through height adjustment and operation reordering before the combination search. This pre-processing step organizes the data in a way that reduces the search space and computational effort required to find optimal parallel combinations.
3Adaptability or versatility
If dependency trees are standardized by inserting pseudo instructions, then tree height is adjusted for comparison, but the original instruction sequence is modified
Solution Approach 1:
The patent uses dummy instructions as intermediaries to bridge the height difference between dependency trees. These pseudo-instructions act as placeholders that enable standardized comparison without affecting the actual instruction logic, as they are added only for structural alignment and do not alter the original instruction sequence's computational meaning.
Data Source
AI summary
An information processing apparatus generates first and second trees representing a dependency relationship among instructions from first code. The information processing apparatus then adjusts the height of the shorter one of the first and second trees by inserting pseudo instructions that do not cause any difference in data before and after operation in the shorter tree, and also shuffles the order of instructions existing at the same depth from the root, according to operation types in at least one of the first and second trees. The information processing apparatus compares the first and second trees subjected to the height adjustment and the order shuffling with each other to determine combinations of an instruction of the first tree and an instruction of the second tree.


