Instruction Dependency Tree Height Adjustment for SIMD Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvesearch process complexityVSAvoidparallelism optimization effectiveness
Core Design Contradiction:
Device complexityVSProductivity

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If all combinations of instructions are searched irrespective of tree structures, then optimal combinations are found, but computational amount increases significantly

Engineering Contradiction:
Improveparallelism optimization effectivenessVSAvoidcomputational overhead
Core Design Contradiction:
ProductivityVSLoss of energy

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvetree structure compatibilityVSAvoidoriginal instruction sequence integrity
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9213548B2Code generation method and information processing apparatus
Publication Date: 2015.12.15 FUJITSU LTD
  • US9213548B2 patent drawing
  • US9213548B2 patent drawing
  • US9213548B2 patent drawing

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.