Dual Pipeline Systolic Array for Matrix Throughput

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current parallel graphics data processing systems face challenges in efficiently performing high-throughput matrix operations, which are crucial for general-purpose numerical computing applications like deep learning and digital signal processing.

Innovation Solution

The implementation of a dual pipeline parallel systolic array architecture within graphics processing units (GPUs), which enables efficient execution of matrix multiplication and add operations by utilizing two separate pipelines for data processing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If traditional fixed function computational units are used for graphics processing, then graphics data processing can be performed, but high-throughput matrix operations for general-purpose numerical computing cannot be efficiently executed

Engineering Contradiction:
Improvesupport for general-purpose numerical computing applicationsVSAvoidthroughput for matrix operations
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements a dual pipeline parallel systolic array architecture that can perform both traditional graphics processing operations and general-purpose numerical computing matrix operations. The processing elements are designed with universal functionality to execute different types of computations (graphics-specific operations and matrix multiply-add operations) depending on the workload requirements, thereby achieving multi-functionality that resolves the contradiction between adaptability and productivity.

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

Solution Approach 2:

The patent divides the computational architecture into two separate pipelines: a first pipeline for graphics data processing operations and a second pipeline for matrix operations. This segmentation allows each pipeline to be optimized for its specific workload, with the matrix pipeline incorporating specialized systolic array structures for high-throughput matrix multiply-add operations while the graphics pipeline handles traditional rendering tasks, thus improving overall adaptability and productivity.

Inventive Principle:
Principle #1Segmentation

2Productivity

If a single pipeline architecture is used for data processing, then device complexity is reduced, but processing throughput for matrix operations is limited

Engineering Contradiction:
Improveprocessing throughputVSAvoidpipeline architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the data processing function into two independent pipelines: a first pipeline for graphics data processing and a second pipeline for matrix operations. Each pipeline operates independently with its own processing elements, data paths, and control logic. This segmentation enables the matrix pipeline to achieve high throughput through specialized systolic array configurations while keeping each individual pipeline's complexity manageable through modular design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a dimensional change by adding a second pipeline dimension alongside the existing first pipeline. Instead of increasing throughput within a single pipeline by adding more stages (which would increase complexity linearly), the system adds a parallel dimension with a second pipeline that handles matrix operations separately. This dimensional approach enables throughput scaling without proportionally increasing the complexity of any single pipeline.

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

3Productivity

If processing elements are designed for specific graphics operations, then graphics processing performance is optimized, but flexibility for matrix multiplication operations is reduced

Engineering Contradiction:
Improvegraphics processing performanceVSAvoidflexibility for matrix multiplication
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent segments the processing architecture into two distinct pipelines with specialized processing elements: the first pipeline contains processing elements optimized for graphics data processing operations, while the second pipeline contains processing elements configured for matrix multiplication operations. Each pipeline's processing elements are tailored to their specific function, with the matrix pipeline incorporating systolic array configurations that are inherently suited for high-performance matrix operations, thereby achieving both optimized graphics performance and flexible matrix computation capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The dual pipeline architecture provides universality by allowing the system to selectively activate either the first pipeline for graphics operations or the second pipeline for matrix operations, or both simultaneously. The processing elements in each pipeline are designed with sufficient functionality to handle their respective workloads efficiently, with the matrix pipeline's systolic array configuration providing universal support for various matrix operation types (multiply, add, dot product) while maintaining optimized performance characteristics.

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

Data Source

PatentUS20250117359A1Dual pipeline parallel systolic array
Publication Date: 2025.04.10 INTEL CORP
  • US20250117359A1 patent drawing
  • US20250117359A1 patent drawing
  • US20250117359A1 patent drawing

AI summary

A processing apparatus described herein includes a general-purpose parallel processing engine comprising a systolic array having multiple pipelines, each of the multiple pipelines including multiple pipeline stages, wherein the multiple pipelines include a first pipeline, a second pipeline, and a common input shared between the first pipeline and the second pipeline.