Sparse Tensor Decomposition Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing systems face challenges in optimizing memory usage and execution time for tensor decompositions, particularly in handling large-scale sparse tensor computations, which are crucial for real-world data analysis applications like cybersecurity and bioinformatics, due to memory blowup issues and inefficient parallel execution.

Innovation Solution

The approach involves selective rematerialization of sparse Khatri-Rao product computations, exploiting redundancy in non-zero tensor structures, and fusing sparse tensor and matrix operations to minimize memory usage and enhance thread-local computations, reducing synchronizations and improving data locality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If conventional tensor decomposition algorithms are applied to large-scale sparse tensors, then computational capability is utilized, but memory usage explodes (memory blowup)

Engineering Contradiction:
Improvememory usageVSAvoidcomputational capability utilization
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the tensor computation into smaller manageable pieces by processing tensors in blocks rather than loading entire large sparse tensors into memory. This allows the system to handle large-scale data by dividing it into smaller chunks that can be processed iteratively, reducing peak memory requirements while maintaining computational capability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary actions by pre-computing and storing factor matrices and their transposes in compressed formats before the main decomposition process. This allows the actual decomposition to proceed with reduced memory requirements, as the heavy lifting is done in advance with optimized data structures.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If parallel execution is implemented for tensor decompositions, then execution time is reduced, but synchronization overhead and communication costs increase

Engineering Contradiction:
Improveexecution timeVSAvoidsynchronization overhead
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent segments parallel computation tasks across multiple processors by dividing the tensor decomposition into independent blocks that can be processed simultaneously. Each processor works on a specific subset of the tensor, reducing the need for frequent synchronization while maintaining overall execution time efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements local quality by allowing each processor to maintain its own local factor matrices and computation state, minimizing the need for global synchronization. Each processor operates independently on its assigned data blocks, reducing communication overhead while achieving parallel speedup.

Inventive Principle:
Principle #3Local quality

3Quantity of substance

If factor matrices are stored in uncompressed format, then data accessibility is improved, but memory consumption increases

Engineering Contradiction:
Improvememory consumptionVSAvoiddata accessibility
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent changes the storage parameter of factor matrices from uncompressed to compressed formats, reducing memory consumption while maintaining the ability to access and compute with the data efficiently. The compressed format preserves the essential information needed for tensor decomposition operations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates compressed copies of factor matrices that retain the necessary computational information while using significantly less memory. These compressed representations can be efficiently accessed and transformed during computation, balancing memory savings with operational ease.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11755684B1Systems and methods for memory efficient parallel tensor decompositions
Publication Date: 2023.09.12 QUALCOMM INC
  • US11755684B1 patent drawing
  • US11755684B1 patent drawing
  • US11755684B1 patent drawing

AI summary

In a system for improving performance of tensor-based computations and for minimizing the associated memory usage, computations associated with different non-zero tensor values are performed while exploiting an overlap between the respective index tuples of those non-zero values. While performing computations associated with a selected mode, when an index corresponding to a particular mode in a current index tuple is the same as the corresponding index from another, previously processed index tuple, the value already stored in a buffer corresponding to that particular mode is reused either wholly or in part, minimizing the processor usage and improving performance. Certain matrix operations may be iterated more than once so as to avoid the need to store a large partial result obtained from those operations. The performance overhead of the repeated operations is not significant, but the reduction in memory usage is.