Dot Product Processor Execution Unit Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processors face inefficiencies in performing dot product operations, which are crucial in various applications such as signal processing and matrix operations, due to limitations in parallel execution and data handling in SIMD architectures.

Innovation Solution

The development of dot product instructions and processors capable of executing these instructions, which allow for efficient parallel processing of packed data elements across multiple data sets, enabling simultaneous calculation of dot products through specialized execution units and instruction formats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Extent of automation

If SIMD architectures are used to perform dot product operations, then parallel processing capability is improved, but processing efficiency deteriorates due to limitations in parallel execution and data handling

Engineering Contradiction:
Improveparallel processing capabilityVSAvoidprocessing efficiency
Core Design Contradiction:
Extent of automationVSProductivity

Solution Approach 1:

The patent segments the second packed data into multiple subsets, where each subset corresponds to a different result data element. This segmentation allows the execution unit to efficiently compute multiple dot products in parallel by processing different subsets simultaneously, resolving the contradiction between parallel processing capability and processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of operation by enabling a single dot product instruction to compute multiple result data elements through subset-based processing. This dimensional expansion transforms the operation from computing one dot product at a time to computing multiple dot products simultaneously across different data element dimensions, thereby improving processing efficiency while maintaining parallel processing capability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Quantity of substance

If multiple data elements are packed within one register, then data handling capacity is improved, but operational complexity worsens due to limitations in parallel execution

Engineering Contradiction:
Improvedata handling capacityVSAvoidoperational complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The patent segments the packed data elements into subsets that correspond to different result data elements. This segmentation strategy simplifies the operational complexity by organizing the packed data structure to match the computation pattern, allowing the execution unit to efficiently handle multiple data elements without increasing operational complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The execution unit is designed with multi-functionality to handle various packed data configurations and compute multiple dot products using the same instruction format. This universal design allows the system to process different numbers and types of data elements without requiring separate operational mechanisms, thereby maintaining simplicity despite increased data handling capacity.

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

Data Source

PatentEP2798457B1Dot product processors, methods, systems, and instructions
Publication Date: 2019.03.06 INTEL CORP
  • EP2798457B1 patent drawingFigure 1
  • EP2798457B1 patent drawingFigure 2
  • EP2798457B1 patent drawingFigure 3

AI summary

A method of an aspect includes receiving a dot product instruction. The dot product instruction indicates a first source packed data including at least four data elements, indicates a second source packed data including at least eight data elements, and indicates a destination storage location. A result packed data is stored in the destination storage location in response to the dot product instruction. The result includes a plurality of data elements that each includes a dot product result. Each of the dot product results includes a sum of products of the at least four data elements of the first source packed data with corresponding data elements in a different subset of at least four data elements of the second source packed data. Other methods, apparatus, systems, and instructions are disclosed.