SIMD Code Generation via Operation Tree Subsequence Analysis

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

VSEngineering 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

Engineering Contradiction:
Improveinstruction combination coverageVSAvoidcode generation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improvesearch process simplicityVSAvoidinstruction combination coverage
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

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.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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

Engineering Contradiction:
Improvetree structure flexibilityVSAvoidcombination search complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS8943484B2Code generation method and information processing apparatus
Publication Date: 2015.01.27 FUJITSU LTD
  • US8943484B2 patent drawing
  • US8943484B2 patent drawing
  • US8943484B2 patent drawing

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.