Memristor Crossbar Allocation for Matrix-Vector Multiplication

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Matrix-vector multiplications, essential for neural network model execution, consume significant computing and memory resources due to the large sizes of matrices involved, making them challenging for general-purpose processing cores.

Innovation Solution

A memristor array-based crossbar with a dot product engine (DPE) is used for analog domain matrix-vector multiplications, employing partitioning and compiler-generated instructions to identify and utilize repeating submatrix patterns, assigning operations efficiently across multiple cores and crossbars, and optimizing for identity and zero matrices to reduce resource consumption.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If general-purpose processing cores are used for matrix-vector multiplications, then versatility is maintained, but computing resource consumption increases significantly

Engineering Contradiction:
Improveprocessing capabilityVSAvoidcomputing resource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the large-scale matrix-vector multiplication problem into smaller sub-problems that can be handled by specialized hardware. The matrix is divided into blocks, and the computation is partitioned across multiple processing elements, allowing general-purpose cores to orchestrate while specialized units execute specific multiplication tasks, thus reducing overall computing resource consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a compiler as an intermediary that translates high-level matrix operations into optimized instructions for specialized hardware accelerators. This intermediary layer enables general-purpose processing cores to maintain versatility while offloading computationally intensive matrix-vector multiplications to energy-efficient specialized units.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If matrix sizes are increased to handle larger neural networks, then model capability improves, but memory resource consumption increases

Engineering Contradiction:
Improvemodel execution capabilityVSAvoidmemory resource consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent applies segmentation by dividing large matrices into smaller blocks that can be processed in chunks. This allows the system to handle large-scale neural networks by processing matrix subsets sequentially or in parallel, reducing the peak memory requirements while maintaining the ability to execute large models.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the memory access pattern by reorganizing data in the analog domain using crossbar architectures. Instead of storing entire large matrices in digital memory, the system uses crossbar devices to perform multiplications with reduced memory footprint, effectively adding a spatial dimension to the computation that reduces memory resource consumption.

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

3Measurement precision

If analog multiplication crossbars are allocated for each matrix partition, then multiplication accuracy is maintained, but device complexity increases

Engineering Contradiction:
Improvemultiplication accuracyVSAvoidcrossbar allocation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent makes analog multiplication crossbars universal by designing them to handle multiple matrix partitions through reconfiguration. Instead of allocating dedicated crossbars for each partition, a smaller set of crossbars is designed to serve multiple functions by dynamically reconfiguring their connection patterns, thus maintaining multiplication accuracy while reducing device complexity.

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

Solution Approach 2:

The patent introduces dynamic reconfiguration of crossbar architectures to adapt to different matrix partition requirements. The crossbar connection patterns can be dynamically adjusted during execution, allowing the same hardware structure to maintain precision for various matrix sizes and configurations without requiring complex static allocation for each case.

Inventive Principle:
Principle #15Dynamics

4Productivity

If repeating submatrix patterns are identified and crossbars are reused, then resource efficiency improves, but compiler complexity increases

Engineering Contradiction:
Improveresource efficiencyVSAvoidcompiler complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by having the compiler perform pattern recognition and optimization before execution. The compiler analyzes the matrix structure in advance, identifies repeating submatrix patterns, and pre-configures crossbar reuse strategies. This upfront analysis enables resource-efficient execution without requiring complex runtime decisions, balancing resource efficiency with manageable compiler complexity.

Inventive Principle:
Principle #10Preliminary action

Applied Scientific Principles

This section explains which scientific principles are used to turn an abstract innovation direction into a practical engineering solution.

Function Achieved in This Case

This approach significantly reduces computing and memory resource usage by orders of magnitude, enabling efficient handling of large-scale matrix-vector multiplications through optimized allocation and reuse of analog multiplication crossbars, thereby facilitating the execution of neural network models.

Implementation Method 1

A memristor array-based crossbar uses analog voltages representing elements of a vector partition are applied to row lines of the memristor array. Currents through the memristors represent products of the matrix partition and vector partition, exploiting the conductance properties of memristors for analog multiplication.

Methodology Applied
Scientific EffectConduction (electrical): Conduction (electrical)

Data Source

PatentUS11269973B2Crossbar allocation for matrix-vector multiplications
Publication Date: 2022.03.08 HEWLETT PACKARD ENTERPRISE DEV LP
  • US11269973B2 patent drawing
  • US11269973B2 patent drawing
  • US11269973B2 patent drawing

AI summary

Repeating patterns are identified in a matrix. Based on the identification of the repeating patterns, instructions are generated, which are executable by processing cores of a dot product engine to allocate analog multiplication crossbars of the dot product engine to perform multiplication of the matrix with a vector.