SIMD Permute Controls With Leading Zero Count

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in efficiently processing sparse data operations and maintaining SIMD efficiency due to conflicts and dependencies in gather-modify-scatter operations, particularly in applications like histogram calculations, where random updates to shared memory locations occur, leading to difficulties in concurrent data processing.

Innovation Solution

The introduction of SIMD permute controls with leading zero count functionality, which includes instructions and logic to count the number of most significant contiguous bits set to zero in vector registers, enabling the generation of permute controls and conflict masks to resolve dependencies and optimize gather-modify-scatter operations by allowing more efficient SIMD address conflict resolution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If SIMD operations are used to process multiple data elements concurrently, then processing throughput is improved, but conflicts and dependencies in gather-modify-scatter operations reduce efficiency

Engineering Contradiction:
Improveprocessing throughputVSAvoidoperation correctness
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by performing conflict detection and generating permute controls before executing gather-modify-scatter operations. The leading zero count functionality identifies potential conflicts in advance, allowing the system to prepare appropriate permute controls that resolve dependencies before they affect execution correctness, thus maintaining both high throughput and operational reliability

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces permute controls as an intermediary mechanism between conflict detection and resolution. These permute controls act as mediators that rearrange data elements to eliminate conflicts and dependencies, enabling concurrent SIMD execution to proceed correctly without compromising throughput by serializing conflict resolution

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If permute controls are generated to resolve conflicts, then operation correctness is improved, but additional processing steps increase complexity

Engineering Contradiction:
Improveoperation correctnessVSAvoidinstruction complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent merges conflict detection and permute control generation into a single integrated instruction sequence. The leading zero count functionality is combined with permute control generation, allowing both operations to be performed in one unified process rather than as separate steps, thereby improving correctness while minimizing the increase in instructional complexity

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If leading zero count functionality is added to generate permute controls, then conflict resolution efficiency is improved, but instruction set complexity increases

Engineering Contradiction:
Improveconflict resolution efficiencyVSAvoidinstruction set complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements universality by designing the leading zero count functionality to serve multiple purposes: it detects conflicts, generates permute controls, and optimizes data arrangement for subsequent operations. This multi-functional approach improves conflict resolution efficiency while amortizing the cost of adding to the instruction set, as the same functionality benefits multiple operation types

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

Data Source

PatentUS10545761B2Methods, apparatus, instructions and logic to provide permute controls with leading zero count functionality
Publication Date: 2020.01.28 INTEL CORP
  • US10545761B2 patent drawing
  • US10545761B2 patent drawing
  • US10545761B2 patent drawing

AI summary

Instructions and logic provide SIMD permute controls with leading zero count functionality. Some embodiments include processors with a register with a plurality of data fields, each of the data fields to store a second plurality of bits. A destination register has corresponding data fields, each of these data fields to store a count of the number of most significant contiguous bits set to zero for corresponding data fields. Responsive to decoding a vector leading zero count instruction, execution units count the number of most significant contiguous bits set to zero for each of data fields in the register, and store the counts in corresponding data fields of the first destination register. Vector leading zero count instructions can be used to generate permute controls and completion masks to be used along with the set of permute controls, to resolve dependencies in gather-modify-scatter SIMD operations.