Matrix Operation Circuitry Partitioning Lookup Tables for MAC Efficiency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face inefficiencies in processing and converting data formats, such as text to speech or speech to text, due to limitations in the number of multiply-accumulate (MAC) operations performed per cycle, which affects computation speed and power consumption during general matrix multiply operations (GEMM).

Innovation Solution

The proposed solution involves partitioning data across multiple lookup tables in a device's memory, allowing for parallel access and processing by multiple MAC units, thereby increasing the number of MAC operations per cycle and reducing power consumption. This is achieved through a hardware design that includes a processor with multiple MAC units, a load store memory, and parallel-connected memory banks, enabling efficient matrix multiplication and conversion between different data formats.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data is processed using conventional memory access methods, then the system can perform matrix multiply operations, but the computation speed is limited and power consumption is high

Engineering Contradiction:
Improvecomputation speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent divides the input data into multiple partitions, with each partition stored in a separate memory bank. This segmentation allows parallel access to multiple memory banks simultaneously, increasing the number of MAC operations that can be performed per cycle. The data partitioning strategy enables the system to overcome the limitation of single-memory-access bottlenecks while distributing the computational load across multiple parallel processing units.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing memory banks in a multi-dimensional array structure rather than using a single linear memory structure. By arranging memory banks in rows and columns that can be accessed independently, the system enables simultaneous access to multiple memory locations across different dimensions, thereby increasing throughput without proportionally increasing power consumption.

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

2Productivity

If the number of MAC operations per cycle is increased, then computation speed improves, but device complexity increases

Engineering Contradiction:
Improvenumber of MAC operations per cycleVSAvoidhardware complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the processing architecture into multiple independent MAC units, each handling a specific partition of the input data. This segmentation allows the system to perform multiple MAC operations in parallel without requiring a single complex processing unit. Each MAC unit remains relatively simple in design, but the collective system achieves high productivity through parallel execution.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent designs the MAC units and memory banks to be universal and reusable across different computational tasks. The same hardware structure can process different data formats (text, speech, audio, video) and different matrix dimensions by reconfiguring the data partitioning strategy, rather than requiring specialized hardware for each specific operation type.

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

3Productivity

If data is partitioned across multiple memory banks, then parallel processing efficiency increases, but memory access complexity increases

Engineering Contradiction:
Improveparallel processing efficiencyVSAvoidmemory access complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary data partitioning and distribution to memory banks before the actual computation begins. By pre-organizing the input data into the appropriate partition structure that matches the memory bank arrangement, the system eliminates the need for complex runtime data reorganization. This preliminary action simplifies the access pattern during computation, as the data is already positioned for optimal parallel access.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces load store units as intermediary components between the MAC units and the memory banks. These intermediary units handle the complexity of data movement and partitioning management, shielding the MAC units from direct involvement in complex memory access patterns. The load store units act as mediators that translate computational requirements into optimized memory access sequences.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS20240152575A1Systems and methods for speech or text processing using matrix operations
Publication Date: 2024.05.09 META PLATFORMS TECHNOLOGIES LLC
  • US20240152575A1 patent drawing
  • US20240152575A1 patent drawing
  • US20240152575A1 patent drawing

AI summary

Disclosed herein includes a system, a method, and a device for processing and converting data using matrix operations. Circuitry can partition an input of a first data format across a plurality of lookup tables each residing in a respective memory. The circuitry can access weight information from a load store memory, and the partitioned input on a per column basis from the plurality of lookup tables. The circuitry can perform a number of multiply-accumulate (MAC) operations per cycle between the weight information from the load store memory and the partitioned input read on a per column basis from the plurality of lookup tables. The number of MAC operations performed per cycle can correspond to a total number of columns of the plurality of lookup tables. The circuitry can generate, responsive to the MAC operations on the partitioned input, a plurality of outputs in a second data format.