Sparse Data Processing on GPUs via Covariance Tree Reordering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Sparse data sets processed on GPUs or stream processors are prone to cache and branch misses due to their sparse nature, which slows down computations.

Innovation Solution

A method involving preprocessing sparse data by replacing nonzero values with a common integer, transposing the data, calculating a covariance matrix, generating a tree structure, and assigning columns to nodes based on co-occurrence and frequency to reduce cache and branch misses, thereby improving processing efficiency on GPUs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If sparse data sets are processed directly on GPUs using standard memory access patterns, then the processing can be performed with simple implementation, but cache misses occur frequently causing computational slowdown

Engineering Contradiction:
Improveprocessing speedVSAvoidcache miss penalty
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by constructing a covariance matrix and generating a tree structure before processing the sparse data set on the GPU. The columns of the sparse data set are reordered based on the tree structure in advance, so that when processing occurs, related data is already positioned optimally in memory, reducing cache misses during the actual computation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent transforms the one-dimensional sparse data set into a two-dimensional covariance matrix, and then uses the matrix dimensions to guide tree construction. This dimensional transformation allows the system to exploit spatial relationships in the data that are not apparent in the original format, enabling better cache utilization patterns

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

2Productivity

If the sparse data set is reordered to reduce cache misses, then processing efficiency improves, but the data reorganization process increases computational overhead

Engineering Contradiction:
ImproveGPU processing efficiencyVSAvoiddata reorganization complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes parameters by replacing nonzero values with a common positive integer (such as 1), transforming the sparse data set into a binary-like structure. This parameter change simplifies subsequent covariance matrix calculations and tree construction, reducing the complexity of data reorganization while maintaining the essential sparse structure information

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent creates a copy of the sparse data set in the form of a covariance matrix, where elements represent co-occurrence frequencies. This copying approach allows the original data to remain unchanged while the covariance matrix serves as the basis for tree construction and column reordering, isolating the complexity of reorganization to a separate data structure

Inventive Principle:
Principle #26Copying

3Ease of manufacture

If all nonzero values are replaced with a common integer, then processing simplicity increases, but information about the original values is lost

Engineering Contradiction:
Improveprocessing simplicityVSAvoidoriginal value information
Core Design Contradiction:
Ease of manufactureVSLoss of information

Solution Approach 1:

The patent extracts the structural information from the sparse data set by identifying which positions contain nonzero values and their relative patterns. By replacing all nonzero values with a common integer, it extracts only the essential sparsity pattern information needed for covariance calculation and tree construction, discarding the specific magnitude information that is not critical for the reordering objective

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS10146740B1Sparse data set processing
Publication Date: 2018.12.04 CA TECH INC
  • US10146740B1 patent drawing
  • US10146740B1 patent drawing
  • US10146740B1 patent drawing

AI summary

A computer implemented method is provided for processing sparse data. A sparse data set is received. A modified sparse data set is calculated by replacing all nonzero values in the sparse data set with a common positive integer. The modified sparse data set is transposed to create a transposed data set. A covariance matrix is calculated by multiplying the transposed data set by the modified sparse data set. A tree of a predefined depth is generated by assigning columns of the sparse data set to right and left nodes based on co-occurrence with a first anchor column and a second anchor column. The first anchor column and the second anchor column are determined based on the covariance matrix.