Super MADD Instructions for Vector Processing Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face inefficiencies in executing operations involving multiple data sets due to limitations in instruction formats that can only accommodate a fixed number of operands, leading to cascaded rounding errors and increased computational complexity for operations like multiple add instructions.

Innovation Solution

The introduction of a 'super' multiple add instruction, VPLANE, which packs scalar terms into a single data structure, allowing for simultaneous execution of operations on vectors of different sizes, minimizing rounding errors through fused multiplication and addition, and supporting both single and double precision modes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current instruction formats are used with fixed number of operands, then instruction format simplicity is maintained, but computational efficiency deteriorates due to cascaded rounding errors and increased complexity for multiple add operations

Engineering Contradiction:
Improvecomputational efficiencyVSAvoidinstruction format complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple scalar terms (a, b, c) into a single packed data structure that can be processed by a vector-friendly instruction. This allows the CPU to execute multiple addition operations simultaneously without increasing instruction format complexity, as the packed structure is handled as one operand rather than requiring multiple separate instructions or complex multi-operand formats.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The packed data structure serves multiple functions: it stores multiple scalar terms, enables simultaneous vector operations of different sizes, and supports both single and double precision modes. This multi-functionality allows a single instruction format to handle various computational scenarios that would otherwise require multiple specialized instructions, improving productivity without proportionally increasing complexity.

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

2Measurement precision

If multiple add instructions are executed separately, then instruction format simplicity is maintained, but rounding errors increase due to cascaded operations

Engineering Contradiction:
Improverounding error minimizationVSAvoidcomputational speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent combines multiple addition operations into a single fused operation that processes all scalar terms simultaneously. By packing the scalar terms into a single data structure and executing them in one instruction, the system eliminates cascaded rounding errors that occur when adding terms sequentially in multiple separate instructions, while maintaining high computational speed.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The fused operation performs all addition operations continuously in a single execution cycle rather than sequentially through multiple instructions. This continuous processing ensures that intermediate results are computed without repeated rounding operations, preserving precision while maintaining productivity.

Inventive Principle:
Principle #20Continuity of useful action

3Adaptability or versatility

If vector operations are performed on vectors of different sizes, then operational flexibility is improved, but execution complexity increases

Engineering Contradiction:
Improvevector size flexibilityVSAvoidexecution complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the scalar terms into a packed data structure that can be selectively processed. The vector-friendly instruction can operate on different portions of the packed structure corresponding to different vector sizes, allowing flexible operations on vectors of varying lengths without requiring separate execution paths or complex control logic for each size variant.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The packed data structure and vector-friendly instruction form a universal system that can handle vectors of different sizes through a single execution model. The same instruction format and execution mechanism work for both single and double precision modes, as well as for different vector lengths, eliminating the need for multiple specialized execution paths and reducing overall complexity.

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

Data Source

PatentUS9792115B2Super multiply add (super MADD) instructions with three scalar terms
Publication Date: 2017.10.17 INTEL CORP
  • US9792115B2 patent drawing
  • US9792115B2 patent drawing
  • US9792115B2 patent drawing

AI summary

A processing core is described having execution unit logic circuitry having a first register to store a first vector input operand, a second register to a store a second vector input operand and a third register to store a packed data structure containing scalar input operands a, b, c. The execution unit logic circuitry further include a multiplier to perform the operation (a*(first vector input operand))+(b*(second vector operand))+c.