SIMD Vector Packed Histogram Processing Logic

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face difficulties in efficiently processing sparse data operations, such as scatter reductions and histogram calculations, due to conflict detection and preservation of scalar program order, which hinders concurrent processing in SIMD mode.

Innovation Solution

The implementation of SIMD vector packed histogram instructions and processing logic that allow for parallel execution of dependent updates to the same bin locations, using first and second vector registers to compare elements with a specified range and perform weighted additions, eliminating sequential bottlenecks and conflict concerns.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If scatter reductions are processed using traditional sequential methods to ensure scalar program order and unique memory addresses, then reliability is maintained, but productivity decreases due to inability to process multiple elements concurrently

Engineering Contradiction:
Improvescalar program order preservationVSAvoidconcurrent processing capability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the histogram update operation into distinct phases: a first phase that processes unique memory addresses in parallel SIMD mode, and a second phase that handles conflict resolution sequentially. This segmentation allows the majority of operations to execute concurrently while maintaining scalar order only where necessary for conflict-prone operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent dynamically switches between parallel SIMD execution and sequential execution based on the operation phase. The processor executes the first phase in parallel mode to maximize throughput, then transitions to sequential mode for the second phase to ensure proper ordering and conflict resolution, optimizing overall performance.

Inventive Principle:
Principle #15Dynamics

2Reliability

If conflict detection is implemented to detect multiple dependent updates to the same locations, then reliability is improved, but device complexity increases making it difficult to process multiple data concurrently

Engineering Contradiction:
Improveconflict detection accuracyVSAvoidprocessing logic complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent separates conflict detection into a dedicated second phase that operates after the first parallel phase completes. This segmentation allows conflict detection logic to be simpler and more focused, as it only needs to handle the specific case of resolving dependent updates to the same histogram bin locations rather than detecting all possible conflicts during parallel execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary second phase that acts as a mediator between the parallel first phase and the final results. This intermediary phase handles the complex conflict detection and resolution logic in a controlled manner, preventing it from complicating the parallel execution engine while still ensuring reliability.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If SIMD vector registers are used to operate on multiple data elements concurrently, then productivity is improved, but device complexity increases due to extended width of registers and ALUs

Engineering Contradiction:
Improvedata parallelism throughputVSAvoidregister and ALU width
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the histogram calculation into two phases: a first phase that leverages SIMD vector registers to process multiple histogram bins in parallel, and a second phase that processes conflict resolutions sequentially. This segmentation allows the system to exploit data parallelism where safe to do so while avoiding the complexity of managing conflicts in parallel.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different execution qualities to different parts of the histogram operation: parallel SIMD execution is applied locally to the first phase where independent updates occur, while sequential execution is applied locally to the second phase where conflict resolution is needed. This local differentiation optimizes performance without requiring full parallelization of the entire operation.

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP3314407B1Methods, apparatus, instructions and logic to provide vector packed histogram functionality
Publication Date: 2020.11.04 INTEL CORP
  • EP3314407B1 patent drawingFigure 1A
  • EP3314407B1 patent drawingFigure 1B
  • EP3314407B1 patent drawingFigure 1C

AI summary

Instructions and logic provide SIMD vector packed histogram functionality. Some processor embodiments include first and second registers storing, in each of a plurality of data fields of a register lane portion, corresponding elements of a first and of a second data type, respectively. A decode stage decodes an instruction for SIMD vector packed histograms. One or more execution units, compare each element of the first data type, in the first register lane portion, with a range specified by the instruction. For any elements of the first register portion in said range, corresponding elements of the second data type, from the second register portion, are added into one of a plurality data fields of a destination register lane portion, selected according to the value of its corresponding element of the first data type, to generate packed weighted histograms for each destination register lane portion.