SIMD Conflict Mask Generation for Scatter Write Hazards

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

SIMD architectures face performance limitations due to lane conflicts and data dependency hazards caused by simultaneous writing of multiple values to the same memory location during scatter operations, leading to unpredictable results and reduced efficiency in utilizing SIMD instruction sets, especially in applications with irregular memory access patterns.

Innovation Solution

The introduction of a masking operation, VPCONFLICTMSK, which generates a write mask to identify and avoid conflict lanes, using an offset vector for the scatter operation to eliminate data dependency hazards and prevent simultaneous writes to the same memory location.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SIMD scatter operations write multiple values to the same memory location in parallel, then processing throughput is improved, but lane conflicts and data dependency hazards occur causing unpredictable results

Engineering Contradiction:
Improveprocessing throughputVSAvoidresult predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by generating the conflict mask before the scatter write operation executes. The VPCONFLICTMSK instruction compares address components of all lanes upfront to identify potential conflicts, producing a mask that predicts which lanes will have conflicts. This allows the system to maintain high throughput by preparing the mask in advance while ensuring reliability by using the mask to select only non-conflicting lanes for the actual write operation.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If conflict detection is performed by comparing each lane's address with all other lanes, then accurate conflict identification is achieved, but computational complexity increases

Engineering Contradiction:
Improveconflict detection accuracyVSAvoidcomputation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the memory address into multiple components (e.g., base address, index, offset) and performing comparisons on each component separately. Instead of comparing entire addresses which would be computationally intensive, the system segments the address space and uses bitwise operations to compare individual components. This segmentation maintains accurate conflict detection while significantly reducing computational complexity through efficient bitwise AND and comparison operations on segmented address components.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3394761B1Conflict mask generation
Publication Date: 2023.08.30 INTEL CORP
  • EP3394761B1 patent drawingFigure 1A
  • EP3394761B1 patent drawingFigure 1B
  • EP3394761B1 patent drawingFigure 1C

AI summary

Single Instruction, Multiple Data (SIMD) technologies are described. A processing device can include a processor core and a memory. The processor core can generate a first bitmap comprising a plurality of bits, where the plurality of bits includes a first bit that represents a first memory location. The processor core can determine that the value of the first bit is equal to the value of a second bit in the first bitmap. The processor core can determine the location of the second bit in relation to the first bit in the first bitmap. The processor core can generate a second bitmap including a third bit indicating that the first bit is the last bit in the first bitmap with the same value as the second bit.