Dynamically Structured SIMD Instructions for Compressed Multiplier Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Static SIMD structures in processing systems are inefficient as they cannot compress separate multipliers, leading to increased instructions and executions for achieving desired width or cascade carry length, resulting in suboptimal performance for multiply-accumulate operations.

Innovation Solution

Implementing dynamically structured SIMD instructions that include compressed data, allowing for increased width or padding by incorporating one or more compressed separate multipliers, which reduces the number of instructions needed for processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If static SIMD structures are used, then the structure is simple and easy to implement, but the processing efficiency is low and more instructions are needed

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidSIMD structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies dynamics by transitioning from static SIMD structures to dynamically structured SIMD instructions. The SIMD structure can be configured at runtime to include compressed separate multipliers based on the specific processing requirements, allowing the system to adapt the structure dynamically rather than being fixed. This enables fewer instructions to be executed while maintaining processing efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent utilizes parameter changes by allowing the SIMD structure to vary in terms of the number and type of multipliers included. By changing the parameters of the SIMD structure (e.g., including compressed separate multipliers with fewer bits), the system can optimize processing efficiency for specific operations without requiring a completely different hardware architecture.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If compressed separate multipliers are used, then the number of instructions is reduced, but the complexity of data packing and unpacking increases

Engineering Contradiction:
Improvenumber of instructionsVSAvoiddata packing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by implementing self-contained packing and unpacking logic within the numerical engine circuitry. The packing logic circuitry automatically packs data into SIMD instructions according to the dynamic structure, and the unpacking logic circuitry automatically unpacks products from responses. This eliminates the need for complex external data manipulation routines and reduces overall system complexity despite the dynamic structure.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The numerical engine circuitry is designed with multi-functionality, where the packing logic circuitry can handle various compressed and uncompressed separate multipliers, and the unpacking logic circuitry can process different product configurations. This universal approach allows the same circuitry to handle diverse SIMD structures without requiring specialized handling for each case.

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

3Length of moving object

If more separate multipliers are included in SIMD structure, then the width and cascade carry length increase, but the number of executions increases

Engineering Contradiction:
ImproveSIMD widthVSAvoidnumber of executions
Core Design Contradiction:
Length of moving objectVSProductivity

Solution Approach 1:

The patent applies local quality by using compressed separate multipliers that have different bit widths depending on their position and function within the SIMD structure. Not all multipliers need to be the same size; compressed multipliers with fewer bits can be used where sufficient precision is achieved, allowing the overall SIMD width to increase without proportionally increasing the number of executions required.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10824434B1Dynamically structured single instruction, multiple data (SIMD) instructions
Publication Date: 2020.11.03 XILINX INC
  • US10824434B1 patent drawing
  • US10824434B1 patent drawing
  • US10824434B1 patent drawing

AI summary

Examples described herein relate to dynamically structured single instruction, multiple data (SIMD) instructions, and systems and circuits implementing such dynamically structured SIMD instructions. An example is a method for processing data. A first SIMD structure is determined by a processor. A characteristic of the first SIMD structure is altered by the processor to obtain a second SIMD structure. An indication of the second SIMD structure is communicated from the processor to a numerical engine. Data is packed by the numerical engine into an SIMD instruction according to the second SIMD structure. The SIMD instruction is transmitted from the numerical engine.