SIMD Multi-Stage Cube Network Data Movement

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional processing systems face challenges in efficiently and cost-effectively implementing data movement operations for large data vectors due to the high hardware costs and scalability issues of crossbar implementations.

Innovation Solution

The use of multi-stage cube networks controlled by single instruction multiple data (SIMD) instructions, which allow for data movement operations across SIMD lanes with movement elements selecting between data elements based on control elements, reducing hardware requirements and enabling scalable data movement.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If an N×N crossbar is implemented using N N-input multiplexors to achieve all permutations and data movement operations, then the desired functionality is achieved, but significant hardware costs are incurred

Engineering Contradiction:
Improvedata movement functionalityVSAvoidhardware cost
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the N×N crossbar into multiple smaller 2×2 multiplexors arranged in a multi-stage network. Instead of using one large N-input multiplexor per lane, the data movement is divided into multiple stages with log2(N) stages, each containing N/2 multiplexors. This segmentation reduces the input size of each multiplexor from N to 2, significantly lowering hardware complexity while maintaining the ability to achieve all N! permutations through coordinated operation across stages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a temporal dimension by using multiple stages sequentially rather than achieving all permutations simultaneously in a single stage. The multi-stage cube network processes data through log2(N) sequential stages, where each stage performs a portion of the permutation. This transforms the problem from a single-complex-stage architecture to a multi-simpler-stages architecture, reducing hardware cost at each stage.

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

2Adaptability or versatility

If an N×N crossbar is implemented to support all data movement operations for N data elements, then complete functionality is achieved, but scalability is limited as the size of data vectors increases

Engineering Contradiction:
Improvedata movement capabilityVSAvoidscalability
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The multi-stage cube network segments the data movement function into log2(N) identical stages, each handling a portion of the permutation. When N doubles, the number of stages increases by only 1 (since log2(2N) = log2(N) + 1), rather than requiring a complete redesign of an N×N crossbar. Each stage uses the same 2×2 multiplexor building block, making the system highly scalable to larger data vector sizes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The 2×2 multiplexor is a universal building block that can be reused across all stages and all data lanes. The same basic component performs the same function in every stage, allowing the system to scale uniformly. This universal building block approach enables the network to handle any N (power of 2) with the same design methodology, greatly improving scalability compared to custom N-input multiplexors.

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

3Manufacturing precision

If multiple control elements are used to control movement elements in a multi-stage cube network, then precise data selection is achieved, but control complexity increases

Engineering Contradiction:
Improvedata selection precisionVSAvoidcontrol complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The control complexity is segmented across multiple stages rather than concentrated in a single control unit. Each stage receives control signals independently and performs its portion of the permutation. The total number of control bits required is log2(N) per data element (one bit per stage), which is much less than the N control bits that would be needed for a single N-input multiplexor stage, thereby reducing overall control complexity while maintaining precise data selection.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10459723B2SIMD instructions for multi-stage cube networks
Publication Date: 2019.10.29 QUALCOMM INC
  • US10459723B2 patent drawing
  • US10459723B2 patent drawing
  • US10459723B2 patent drawing

AI summary

Systems and methods relate to performing data movement operations using single instruction multiple data (SIMD) instructions. A first SIMD instruction comprises a first input data vector having a number N of two or more data elements in corresponding N SIMD lanes and a control vector having N control elements in the corresponding N SIMD lanes. A first multi-stage cube network is controllable by the first SIMD instruction, and includes movement elements, with one movement element per SIMD lane, per stage. A movement element selects between one of two data elements based on a corresponding control element and moves the data elements across the stages of the first multi-stage cube network by a zero distance or power-of-two distance between adjacent stages to generate a first output data vector. A second multi-stage cube network can be used in conjunction to generate all possible data movement operations of the input data vector.