GP-GPU Concurrent PCA Tridiagonalization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional PCA computation systems are inefficient in handling large-scale data processing due to sequential tridiagonalization methods, which are computationally expensive and time-consuming, especially when performing concurrent PCA computations for multiple client portfolios.

Innovation Solution

Implementing a GP-GPU based system that performs concurrent PCA computation by receiving multiple requests, computing input matrices, tridiagonalizing them, calculating eigenvalues and eigenvectors, and performing back transformation to obtain principal components, thereby reducing the computational burden on the CPU and enhancing processing speed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If sequential tridiagonalization methods are used on CPU, then implementation simplicity is maintained, but processing speed and computational efficiency deteriorate

Engineering Contradiction:
Improveprocessing speedVSAvoidsystem complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent segments the tridiagonalization computation into independent parallel tasks that can be executed simultaneously on multiple GPU cores. Each GPU thread handles a specific computational step or data element, dividing the sequential CPU process into concurrent parallel segments that achieve faster processing without requiring a complete system redesign

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent replaces the mechanical sequential processing system (CPU) with a parallel computing system (GPU) that uses different computational mechanics. The GPU's architecture enables simultaneous execution of multiple tridiagonalization operations through thousands of cores, fundamentally changing how the computation is performed rather than just optimizing the existing sequential approach

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If multiple PCA computations are performed concurrently on CPU, then client service capability is improved, but computational cost and time consumption increase

Engineering Contradiction:
Improveconcurrent processing capabilityVSAvoidcomputation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent transitions from single-dimensional sequential processing to multi-dimensional parallel processing by utilizing the GPU's three-dimensional thread hierarchy (threads within blocks, blocks within grids). This dimensional expansion allows multiple PCA computations to proceed simultaneously in parallel, dramatically increasing throughput and reducing the time loss associated with sequential processing

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

3Duration of action of moving object

If traditional CPU-based PCA computation is used, then system simplicity is maintained, but execution time for large portfolios increases

Engineering Contradiction:
Improveexecution timeVSAvoidcomputational power
Core Design Contradiction:
Duration of action of moving objectVSPower

Solution Approach 1:

The patent creates a universal computing platform that can handle various PCA computation scenarios (different portfolio sizes, different numbers of concurrent requests, different matrix dimensions) using the same GPU-based tridiagonalization framework. This multi-functional system efficiently adapts to varying computational demands without requiring separate optimized systems for each scenario

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

Data Source

PatentUS9965318B2Concurrent principal component analysis computation
Publication Date: 2018.05.08 TATA CONSULTANCY SERVICES LTD
  • US9965318B2 patent drawing
  • US9965318B2 patent drawing
  • US9965318B2 patent drawing

AI summary

The disclosure generally relates to principal component analysis (PCA) computation and, more particularly, to concurrent PCA computation. In one embodiment, a plurality of concurrent PCA requests are received by a server. An input matrix for each of the concurrent PCA requests is computed using a general purpose-graphical processing unit (GP-GPU) by the server. Further, tridiagnolization on the input matrix is performed on each of the concurrent PCA requests by a general purpose-graphical processing unit (GP-GPU) in the server to generate a tridiagonal matrix for each of the concurrent PCA requests. Furthermore, a plurality of eigen values and corresponding eigen vectors are computed for the tridiagonal matrix of each of the concurrent PCA requests by the server and subsequently back transformation of the eigen values and the eigen vectors is performed by the server for each of the concurrent PCA requests to obtain associated principal components.