Hierarchical Routing Circuitry for SIMD Operand Permutation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing SIMD architectures face challenges in efficiently routing operands among threads due to the high area and power consumption required for full permutation support, especially in larger SIMD group sizes.

Innovation Solution

The implementation of hierarchical routing circuitry that supports full permutation within subsets of inputs and uses a selection level to route operands, reducing the need for extensive crossbar areas and power consumption by performing multiple permutation operations across multiple levels.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If full permutation routing is implemented among all SIMD threads, then operand sharing capability is improved, but area consumption and power consumption increase significantly

Engineering Contradiction:
Improveoperand sharing capabilityVSAvoidcrossbar area
Core Design Contradiction:
Adaptability or versatilityVSArea of stationary object

Solution Approach 1:

The routing circuitry is divided into multiple levels, with each level handling a subset of threads. Instead of implementing a single large N×N crossbar for all N threads, the system uses multiple smaller crossbars (e.g., four 4×4 crossbars for 16 threads) organized in a hierarchical structure. Each crossbar handles permutation for a specific subset of threads, reducing the area required per crossbar while collectively providing full permutation capability across all threads through multiple permutation stages.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If full permutation routing is implemented among all SIMD threads, then operand sharing capability is improved, but power consumption increases significantly

Engineering Contradiction:
Improveoperand sharing capabilityVSAvoidrouting circuitry power consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by stationary object

Solution Approach 1:

By segmenting the routing function across multiple levels and smaller crossbars, the total power consumption is reduced compared to a single large crossbar. Each smaller crossbar consumes less power, and the hierarchical structure allows for more efficient routing paths.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs multiple permutation operations across multiple levels rather than attempting to achieve full permutation in a single stage. This multi-stage approach allows for more efficient power usage by breaking down the complex permutation task into simpler, more power-efficient sub-tasks at each level.

Inventive Principle:
Principle #16Partial or excessive action

3Area of stationary object

If hierarchical routing with multiple levels is used, then area and power consumption are reduced, but routing complexity increases

Engineering Contradiction:
Improvecrossbar areaVSAvoidrouting circuitry complexity
Core Design Contradiction:
Area of stationary objectVSDevice complexity

Solution Approach 1:

While segmentation into multiple levels does increase structural complexity, it reduces the complexity of individual crossbar units. Each small crossbar has simpler control logic and fewer routing decisions to make compared to a single large crossbar, distributing the complexity across multiple manageable units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The multi-level hierarchical structure performs more routing steps than a single-stage system, but each individual routing step is simpler. The control logic for each small crossbar is more straightforward, and the overall system achieves full permutation capability through the composition of these simpler partial permutation operations.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11294672B2Routing circuitry for permutation of single-instruction multiple-data operands
Publication Date: 2022.04.05 APPLE INC
  • US11294672B2 patent drawing
  • US11294672B2 patent drawing
  • US11294672B2 patent drawing

AI summary

Techniques are disclosed relating to routing circuitry configured to perform permute operations for operands of threads in a single-instruction multiple-data group. In some embodiments, an apparatus includes hierarchical operand routing circuitry configured to route operands between a set of single-instruction multiple-data (SIMD) pipelines based on a permute instruction. In some embodiments, the routing circuitry includes a first level and a second level. The first level may include a set of multiple crossbar circuits each configured to receive operands from a respective subset of the pipelines and output one or more of the received operands on multiple output lines based on the permute instruction, where the crossbar circuits support full permutation within a respective subset. A second level may be configured to select an operand from a previous level for each of the pipelines, and may select from among only a portion of output operands from the previous level to provide an operand for a respective pipeline.