Hardware-Accelerated Instruction Mapping via Constraint Satisfaction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing techniques for implementing computations using hardware-accelerated instructions face challenges in automatically determining optimal invocations, leading to inefficient use of hardware resources due to complex dataflows and reliance on explicit transformations, which can result in missed implementation opportunities and increased search spaces.

Innovation Solution

The approach formulates the problem of determining hardware-accelerated instruction invocations as a constraint satisfaction problem, using data flow and input constraints to progressively construct mappings between computation and instruction data flow graphs, allowing for flexible memory layouts and implicit implementation decisions, thereby finding more efficient invocations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If loop-level representation of operators is used with explicit IR transformations, then code generation can be performed, but implementation decisions are implicitly restricted and possible implementations may be missed

Engineering Contradiction:
Improvecode generation capabilityVSAvoidimplementation flexibility
Core Design Contradiction:
Ease of manufactureVSAdaptability or versatility

Solution Approach 1:

The patent inverts the conventional approach by not starting with loop-level representations and transformations, but rather by directly working with tensor access functions and hardware instruction mappings. This inversion allows the system to explore implementations without being constrained by predetermined loop structures and transformation sequences, thereby finding more implementation possibilities including those that would be missed by traditional approaches.

Inventive Principle:
Principle #13The other way round (Inversion)

2Adaptability or versatility

If a large set of IR transformations is used to explore implementation space, then more solutions may be found, but the search space increases with diminishing returns

Engineering Contradiction:
Improveimplementation exploration capabilityVSAvoidsearch space size
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent extracts and focuses on the essential elements for implementation mapping: tensor access functions, hardware instruction characteristics, and data flow requirements. By taking out the non-essential loop-level transformation details and concentrating on the core mapping problem, the system achieves effective implementation exploration without the combinatorial explosion of a large transformation set.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent changes the parameters of the search problem from loop-level transformation sequences to tensor access function mappings. This parameter change transforms the search space from a complex sequence of transformations to a more manageable space of access function configurations, reducing search complexity while maintaining the ability to find optimal implementations.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If pattern matching is used to match tensor access functions, then some implementations can be found, but matches are difficult to establish in general cases

Engineering Contradiction:
Improveaccess function matching accuracyVSAvoidmatching complexity
Core Design Contradiction:
Measurement precisionVSDifficulty of detecting and measuring

Solution Approach 1:

The patent creates a universal matching framework that works across different access function types without requiring specialized pattern matching for each case. By formulating a general algorithm that handles various access patterns through unified principles, the system achieves both accuracy in matching and simplicity in implementation, avoiding the complexity of multiple specialized pattern matchers.

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

Data Source

PatentUS12106097B2Using hardware-accelerated instructions
Publication Date: 2024.10.01 ROBERT BOSCH GMBH
  • US12106097B2 patent drawing
  • US12106097B2 patent drawing
  • US12106097B2 patent drawing

AI summary

A computer-implemented method of implementing a computation using a hardware-accelerated instruction of a processor system by solving a constraint satisfaction problem. A solution to the constraint satisfaction problem represents a possible invocation of the hardware-accelerated instruction in the computation. The constraint satisfaction problem assigns nodes of a data flow graph of the computation to nodes of a data flow graph of the instruction. The constraint satisfaction problem comprises constraints enforcing that the assigned nodes of the computation data flow graph have equivalent data flow to the instruction data flow graph, and constraints restricting which nodes of the computation data flow graph can be assigned to the inputs of the hardware-accelerated instruction, with restrictions being imposed by the hardware-accelerated instruction and/or its programming interface.