SIMD Stride Predicate Lookup for Lower Processing Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The computational overhead of recalculating predicates for varying strides in SIMD processors leads to increased processing times and resource consumption, offsetting the performance gains from using SIMD processing capabilities.

Innovation Solution

Precomputation of sub-vector width predicates in sequences, leveraging pre-established patterns to reduce the computational overhead, and applying these during the execution of an instance of the instruction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If predicates are recalculated for varying strides in SIMD processors, then processing flexibility and adaptability are improved, but computational overhead and processing time increase

Engineering Contradiction:
Improveprocessing flexibilityVSAvoidprocessing time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent precomputes predicate patterns for different stride values and stores them in a lookup table before actual processing. When a SIMD instruction executes, the processor simply retrieves the precomputed predicate pattern corresponding to the stride value, avoiding real-time recalculation. This preliminary action resolves the contradiction by maintaining adaptability through precomputed patterns while eliminating the time cost of recalculation during processing.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent prepares predicate patterns in advance and stores them in memory, creating a buffer that cushions against the computational overhead during actual SIMD execution. This beforehand cushioning allows the processor to handle varying strides efficiently by retrieving pre-prepared patterns rather than computing them on-the-fly, thus maintaining flexibility without sacrificing processing speed.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

2Adaptability or versatility

If predicates are recalculated for varying strides in SIMD processors, then handling of complex data structures is improved, but resource consumption increases

Engineering Contradiction:
Improvedata structure handlingVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent precomputes and stores predicate patterns for various stride values in a lookup table before processing begins. During SIMD execution, the processor retrieves the appropriate precomputed pattern based on the stride value, avoiding the need to recalculate predicates during processing. This approach maintains the ability to handle complex data structures with varying strides while minimizing computational resource consumption during actual execution.

Inventive Principle:
Principle #10Preliminary action

3Manufacturing precision

If full predicate recalculation is performed for each SIMD instruction instance, then processing accuracy is improved, but productivity decreases

Engineering Contradiction:
Improveprocessing accuracyVSAvoidthroughput
Core Design Contradiction:
Manufacturing precisionVSProductivity

Solution Approach 1:

The patent precomputes predicate patterns with high accuracy and stores them in a lookup table. During SIMD instruction execution, the processor retrieves these precomputed patterns, ensuring processing accuracy is maintained while avoiding the time cost of recalculation. This resolves the contradiction by preserving accuracy through careful precomputation while boosting throughput by eliminating repeated calculations during high-speed execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of predicate patterns for different stride values and stores them in a lookup table. Instead of recalculating predicates during each SIMD instruction, the processor copies the appropriate precomputed pattern from the lookup table based on the stride value. This copying approach maintains processing accuracy by using precomputed patterns while significantly improving productivity by avoiding repeated computational overhead.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS20250390305A1Stride length predicate creation
Publication Date: 2025.12.25 ANALOG DEVICES INT UNLTD CO
  • US20250390305A1 patent drawing
  • US20250390305A1 patent drawing
  • US20250390305A1 patent drawing

AI summary

System and techniques for creating a single-instruction multiple-data (SIMD) processor predicate based on stride length are described herein. When an instruction for a SIMD processor is received, and the instruction has a specified stride length, a predicate memory can be read to obtain a current predicate. A new predicate can be determined based on the stride length and the current predicate. The new predicate is written to the predicate memory. When an instance of the instruction is executed by the SIMD processor, the execution is performed on a subset of data loaded into the SIMD processor based on the new predicate read from the predicate memory.