Mirrored Matrices for Batched Cholesky Decomposition on GPU

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Cholesky decomposition methods on GPUs are inefficient due to sub-optimal memory access patterns, high thread divergence, and synchronization issues, particularly when handling batched dense matrices.

Innovation Solution

The method involves mirroring and combining two symmetric positive definite matrices into a single rectangular matrix, allowing for efficient data allocation and processing across threads, reducing synchronization needs and improving memory access efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional Cholesky decomposition is implemented on GPU, then the algorithm can be executed in parallel, but memory access patterns become sub-optimal and thread divergence increases

Engineering Contradiction:
Improveparallel execution capabilityVSAvoidmemory access pattern complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent transforms the conventional 2D matrix decomposition problem into a 3D tensor decomposition problem by adding a batch dimension. This dimensional transformation allows the GPU to process multiple matrices simultaneously in parallel while maintaining optimal memory access patterns through the third dimension, thereby resolving the contradiction between parallel execution capability and memory access complexity.

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

Solution Approach 2:

The patent merges multiple independent Cholesky decomposition operations into a single batched operation. By combining several 2D matrix decomposition tasks into one 3D tensor decomposition task, the method achieves better memory coalescing and reduces thread divergence, thus improving productivity while managing device complexity.

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If batched Cholesky decomposition is performed on GPU, then processing speed increases, but synchronization requirements increase causing thread divergence

Engineering Contradiction:
Improvebatched processing speedVSAvoidsynchronization time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent performs preliminary actions by pre-organizing multiple matrices into a batched 3D tensor structure before decomposition. This preliminary organization allows the GPU to process all matrices in the batch with uniform memory access patterns and reduced synchronization needs, thereby increasing batched processing speed while minimizing synchronization time losses.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If forward and backward substitution techniques are used, then various purposes such as equalization and filtering can be achieved, but hardware modification is required

Engineering Contradiction:
Improveapplication versatilityVSAvoidhardware modification requirement
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal batched Cholesky decomposition approach that can handle multiple application scenarios (equalization, filtering, data reconstruction, etc.) through software algorithms alone. By using the 3D tensor decomposition method, the system achieves multi-functionality without requiring hardware modifications, thus maintaining adaptability while avoiding increased device complexity.

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

Data Source

PatentUS12086207B2Mirroring matrices for batched cholesky decomposition on a graphic processing unit
Publication Date: 2024.09.10 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US12086207B2 patent drawing
  • US12086207B2 patent drawing
  • US12086207B2 patent drawing

AI summary

A batched Cholesky decomposition method, system, and non-transitory computer readable medium for a Graphics Processing Unit (GPU), include mirroring matrices to form paired matrices solving the paired matrices simultaneously.