Data Element Comparison Processor for Sparse Vector Alignment

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing processors face challenges in efficiently performing sparse vector dot product calculations due to misalignment of data elements in compressed sparse row (CSR) representation, which affects performance in machine learning and other applications.

Innovation Solution

The introduction of data element comparison instructions and processors capable of executing these instructions, which allow for efficient identification and alignment of non-zero data elements in CSR format, enabling effective operations on packed data operands.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data elements are packed in CSR representation to save space, then storage efficiency is improved, but data element alignment deteriorates

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddata element alignment
Core Design Contradiction:
Quantity of substanceVSManufacturing precision

Solution Approach 1:

The patent segments the packed data into multiple lanes, where each lane contains data elements of the same type. This segmentation allows the processor to selectively access and align specific data elements from different lanes, resolving the alignment issue while maintaining the space efficiency of packed storage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary data lane that temporarily holds data elements during the alignment process. This intermediary lane acts as a buffer, allowing data elements from source lanes to be aligned and combined without disrupting the original packed storage structure.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Speed

If multiple data elements are processed in parallel using SIMD, then computational speed is improved, but handling misaligned data elements deteriorates

Engineering Contradiction:
Improvecomputational speedVSAvoidhandling misaligned data
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The patent implements dynamic lane selection and data routing mechanisms that adapt to the specific alignment requirements of each operation. The processor can dynamically reconfigure which lanes are active and how data flows between them, enabling efficient parallel processing of misaligned data elements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the organizational parameters of packed data by introducing lane identifiers and data type tags. These parameter changes allow the processor to distinguish between different data elements within packed registers and apply appropriate alignment operations, maintaining parallel processing efficiency.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11113053B2Data element comparison processors, methods, systems, and instructions
Publication Date: 2021.09.07 INTEL CORP
  • US11113053B2 patent drawing
  • US11113053B2 patent drawing
  • US11113053B2 patent drawing

AI summary

A processor includes a decode unit to decode an instruction that is to indicate a first source packed data operand that is to include at least four data elements, to indicate a second source packed data operand that is to include at least four data elements, and to indicate one or more destination storage locations. The execution unit, in response to the instruction, is to store at least one result mask operand in the destination storage location(s). The at least one result mask operand is to include a different mask element for each corresponding data element in one of the first and second source packed data operands in a same relative position. Each mask element is to indicate whether the corresponding data element in said one of the source packed data operands equals any of the data elements in the other of the source packed data operands.