Multicycle Lane Cross-Shuffle Unit for Vector Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing vector processing units (VPUs) are costly, power-consuming, and complex due to the requirement of full multiplexers per lane for shuffle operations, which can lead to slower execution speeds, particularly in cloud-based machine learning and AI systems.

Innovation Solution

A multicycle lane cross-shuffle unit that programmably selects lane-level control multiplexers over multiple cycles, reusing the same multiplexers to shuffle packed source lane values from any input vector lane position to any output vector lane position, reducing the number of required multiplexers and using fewer result lanes than vector lanes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If full multiplexers per lane are used for shuffle operations, then shuffle capability is achieved, but hardware cost and device complexity increase

Engineering Contradiction:
Improveshuffle capabilityVSAvoidhardware cost
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The shuffle operation is divided into multiple cycles, with each cycle handling a portion of the lane shuffling. The multiplexer is reused across cycles rather than having dedicated multiplexers for all lanes simultaneously, segmenting the operation in time to reduce hardware complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically reconfigures the multiplexer connections across multiple cycles to achieve different shuffle patterns. Control logic programmably directs the multiplexer to different input lanes in different cycles, providing adaptability without requiring static dedicated multiplexers for all possible lane combinations.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If full multiplexers per lane are used for shuffle operations, then shuffle capability is achieved, but power consumption increases

Engineering Contradiction:
Improveshuffle capabilityVSAvoidpower consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

The shuffle operation is segmented across multiple cycles, allowing a single multiplexer to serve multiple lanes sequentially rather than having all multiplexers active simultaneously. This reduces the total power consumption by activating only the necessary hardware components for each cycle.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The multiplexer is reused across multiple cycles and lanes, effectively 'recovering' the same hardware resource for repeated use rather than discarding it after a single use. This reduces overall power consumption by minimizing the total number of active multiplexer instances required.

Inventive Principle:
Principle #34Discarding and recovering

3Adaptability or versatility

If full multiplexers per lane are used for shuffle operations, then shuffle capability is achieved, but execution speed decreases

Engineering Contradiction:
Improveshuffle capabilityVSAvoidexecution speed
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The system uses dynamic control logic to programmably direct the multiplexer to different input lanes across multiple cycles. This allows flexible shuffle patterns to be achieved without the hardware overhead of static dedicated multiplexers, maintaining execution speed by avoiding the complexity bottleneck.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

A single multiplexer is made universal by reusing it across multiple lanes and cycles through programmable control. This multi-functional approach replaces multiple dedicated multiplexers with one versatile unit, reducing hardware complexity while maintaining the ability to perform various shuffle operations at full execution speed.

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

Data Source

PatentUS20240111529A1Vector processing unit with programmable multicycle shuffle unit
Publication Date: 2024.04.04 ADVANCED MICRO DEVICES INC
  • US20240111529A1 patent drawing
  • US20240111529A1 patent drawing
  • US20240111529A1 patent drawing

AI summary

An integrated circuit includes a vector data processing unit that employs a cross-lane shuffle unit including multiplexing logic that programmably shuffles packed source lane values, each corresponding to one of a plurality of vector lanes, to different output vector result lane positions over multiple cycles. In certain implementations, in a first cycle, control logic in the cross-shuffle unit controls the multiplexing logic to select source lane values to be placed in a first group of output vector result lane positions for a vector result register; and in at least a second cycle, the same multiplexing logic is reused to select source lane values to be placed in a second group of output vector result lane positions for the vector result register wherein at least one of the selected source lane values is moved to a different result lane position. Associated methods are also presented.