Vector Conflict Instructions in Fully-Connected Interconnects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In vector operations, dependencies between elements within the same input vector can lead to incorrect results if not properly managed, particularly with instructions like gather and scatter, where index values may reflect data dependencies that need to be respected to ensure accurate operation sequencing.

Innovation Solution

The implementation of vector conflict instructions, such as vconflict, vptest, and vpand, which identify and manage dependencies within input vectors by comparing indices and reordering operations to prevent simultaneous execution of dependent elements, ensuring that each operation uses the result of previous operations as intended.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If vector operations execute multiple operations in parallel on multiple sets of data, then processing speed and productivity are improved, but data dependency conflicts may occur leading to incorrect results

Engineering Contradiction:
Improveprocessing speedVSAvoidresult accuracy
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by detecting data dependencies between vector operations before execution. The system identifies conflicting operations that access the same data elements and reorders them in advance to prevent incorrect results, ensuring that operations are executed in the correct sequence while maintaining maximum parallelism for non-conflicting operations.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If the processor uses a fully-connected interconnect for both permute and vector conflict instructions, then device complexity is reduced, but potential conflicts in data routing may occur

Engineering Contradiction:
Improveinterconnect structureVSAvoiddata routing correctness
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies dynamics by implementing dynamic routing control within the fully-connected interconnect. The system dynamically selects routing paths based on the current operation type (permute or vector conflict) and data dependency requirements, allowing the same physical interconnect structure to reliably support multiple instruction types without conflicts.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10678541B2Processors having fully-connected interconnects shared by vector conflict instructions and permute instructions
Publication Date: 2020.06.09 INTEL CORP
  • US10678541B2 patent drawing
  • US10678541B2 patent drawing
  • US10678541B2 patent drawing

AI summary

An apparatus includes a decode unit to decode a permute instruction and a vector conflict instruction. A vector execution unit is coupled with the decode unit and includes a fully-connected interconnect. The fully-connected interconnect has at least four inputs to receive at least four corresponding data elements of at least one source vector. The fully-connected interconnect has at least four outputs. Each of the at least four inputs is coupled with each of the at least four outputs. The execution unit also includes a permute instruction execution logic coupled with the at least four outputs and operable to store a first vector result in response to the permute instruction. The execution unit also includes a vector conflict instruction execution logic coupled with the at least four outputs and operable to store a second vector result in a destination storage location in response to the vector conflict instruction.