Tensor Processing Block Weight Loading for ML and DSP Workloads

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current integrated circuit devices struggle to efficiently perform calculations for both machine learning and digital signal processing applications, as circuitry optimized for one domain is often not well-suited for the other, leading to suboptimal performance and resource utilization.

Innovation Solution

The development of a digital signal processing (DSP) block on field-programmable gate arrays (FPGAs) that can adapt to emerging algorithms, perform multiply-accumulate operations, and handle both fixed-point and floating-point arithmetic, with features like virtual bandwidth expansion and flexible precision settings to support AI and non-AI applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If circuitry is optimized for machine learning applications, then machine learning performance is improved, but suitability for digital signal processing deteriorates

Engineering Contradiction:
Improvemachine learning performanceVSAvoidsuitability for digital signal processing
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent implements a tensor processing block that can function as both a neural network unit for machine learning and a digital signal processing unit. The same hardware resources (processing elements, memory, interconnects) are configured to perform different functions based on the application requirements, achieving multi-functionality without requiring separate dedicated circuits for each domain.

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

Solution Approach 2:

The tensor processing block employs dynamic reconfiguration capabilities where the processing elements can switch between different operational modes (e.g., MAC operations for neural networks, FFT operations for signal processing). This dynamic adaptability allows the same circuitry to optimize performance for different computational tasks through runtime configuration changes.

Inventive Principle:
Principle #15Dynamics

2Productivity

If circuitry is optimized for digital signal processing applications, then digital signal processing performance is improved, but suitability for machine learning deteriorates

Engineering Contradiction:
Improvedigital signal processing performanceVSAvoidsuitability for machine learning
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The tensor processing block is designed with universal processing elements that can execute both digital signal processing algorithms (such as FFT, filtering) and machine learning operations (such as matrix multiplication, convolution). The same hardware resources are shared between these functions through dynamic configuration, eliminating the need for separate dedicated DSP circuits.

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

Solution Approach 2:

The processing elements within the tensor processing block can dynamically reconfigure their operational characteristics to match the requirements of different algorithms. For signal processing tasks, they operate in modes optimized for sequential operations, while for machine learning they switch to modes optimized for parallel matrix operations, achieving high performance in both domains.

Inventive Principle:
Principle #15Dynamics

3Adaptability or versatility

If the same hardware resources are shared between machine learning and digital signal processing, then resource utilization is improved, but performance for either domain may deteriorate

Engineering Contradiction:
Improveresource utilizationVSAvoidperformance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The tensor processing block is segmented into multiple independent processing elements (PEs) that can be dynamically grouped and configured. When performing machine learning operations, PEs are organized for parallel matrix computations, while for signal processing they are configured for sequential algorithm execution. This segmentation allows efficient resource sharing without performance degradation because each domain can utilize the full capability of its allocated PEs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic resource allocation where the configuration of processing elements changes based on the active workload. The system can switch between different operational modes (neural network mode, signal processing mode) and reconfigure interconnects, memory access patterns, and processing element arrangements to optimize performance for the current task, ensuring high utilization without performance loss.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP3835942B1Systems and methods for loading weights into a tensor processing block
Publication Date: 2023.10.18 INTEL CORP
  • EP3835942B1 patent drawingFigure 1
  • EP3835942B1 patent drawingFigure 2
  • EP3835942B1 patent drawingFigure 3

AI summary

The present disclosure describes a digital signal processing (DSP) block that includes a plurality of columns of weight registers and a plurality of inputs configured to receive a first plurality of values and a second plurality of values. The first plurality of values is stored in the plurality of columns of weight registers after being received. In a first mode of operation, the first and second pluralities of values are received via a first portion of the plurality of inputs. In a second mode of operation, the first plurality of values is received via a second portion of the plurality of inputs, and the second plurality of values is received via the first portion of the plurality of inputs. Additionally, the DSP block includes a plurality of multipliers configured to simultaneously multiply each value of the first plurality of values by each value of the second plurality of values.