Dual Sum Quadword Multiply Accumulate Instructions for Sensing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current processor cores using multiplication integer instructions for dot product operations are not sufficiently fast and do not support the use of signed and unsigned values, which is a limitation in sensing applications that require efficient handling of signed and unsigned integer data types.

Innovation Solution

The introduction of the DVPDPWSUQ and DVPDPWUSQ instructions, which enable vector packed multiply and accumulate operations for both signed and unsigned data elements, allowing for efficient execution of dot product operations across multiple channels in sensing applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If multiplication integer instructions are used for dot product operations, then the operations can be performed with signed and unsigned values, but the processing speed is not sufficiently fast

Engineering Contradiction:
Improveprocessing speedVSAvoidoperation efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent segments the dot product operation into distinct multiply and accumulate phases, allowing parallel processing of multiple data elements simultaneously. The execution unit is divided into separate multiplication and accumulation components that can operate concurrently on different elements, thereby increasing processing speed while maintaining support for both signed and unsigned integer types.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new instruction format and execution unit architecture that adds a dimensional aspect to integer multiplication by incorporating dual-sum capability. This allows the processor to handle multiple accumulate results in parallel, effectively adding a processing dimension that increases throughput without sacrificing speed for individual operations.

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

2Adaptability or versatility

If standard multiplication instructions are used, then code can handle both signed and unsigned data types, but the code memory footprint increases

Engineering Contradiction:
Improvedata type supportVSAvoidcode memory footprint
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent creates a universal multiply-accumulate instruction that can handle both signed and unsigned integer data types within the same instruction format and execution unit. This multi-functional approach eliminates the need for separate instruction sequences for different data types, reducing code memory footprint while maintaining full adaptability to various sensing applications requiring different integer types.

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

Solution Approach 2:

The patent utilizes parameter changes in the instruction encoding to indicate whether signed or unsigned operations should be performed. By incorporating data type specification parameters within the instruction itself, the system can switch between handling signed and unsigned values without requiring different instruction formats or additional code, thereby reducing memory footprint while preserving versatility.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If multiple separate instructions are used for dot product operations, then each operation can be optimized, but the code complexity and memory usage increase

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

Solution Approach 1:

The patent merges the multiply and accumulate operations into a single unified instruction that performs both functions atomically. This combination maintains operational accuracy by ensuring proper ordering and timing of operations while significantly reducing code complexity. The unified instruction eliminates the need for multiple separate instructions, reducing both code size and the complexity of instruction sequencing required for dot product operations.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent incorporates preliminary setup of the execution unit state within the instruction itself, including configuration for signed or unsigned operation mode. This preliminary action within the single instruction eliminates the need for multiple preparatory instructions, reducing overall code complexity while maintaining reliable operation through proper initial state configuration before the actual compute operations begin.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12204903B2Dual sum of quadword 16×16 multiply and accumulate
Publication Date: 2025.01.21 INTEL CORP
  • US12204903B2 patent drawing
  • US12204903B2 patent drawing
  • US12204903B2 patent drawing

AI summary

Techniques for matrix multiplication are described. In some examples, a single instruction having a format of fields for an opcode, one or more fields to indicate a location of a source/destination operand, one or more fields to indicate a location of a first source operand, and one or more fields to indicate a location of a second source operand is used. Wherein the opcode is to indicate that execution circuitry is to: multiply values from corresponding data elements of the first and second sources, add a first subset of the multiplied values to a first value from the source/destination operand and store in a first data element position of the source/destination operand, and add a second subset of the multiplied values to a second value from the source/destination operand and store in a second data element position of the source/destination operand.