Sparse Matrix Set Operations on Multi-Core Processing Units

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional GPU libraries lack set operations, and existing hash-table implementations on GPUs are limited by fixed-size keys and values, restricting the domain of elements that can be stored and adding significant overhead to insertion/retrieval logic, making it challenging to perform set operations efficiently on large data volumes.

Innovation Solution

Convert set operations to sparse matrix operations and perform them using a multi-core processing unit without hash tables, representing input sets and operands as matrices and utilizing sparse matrix operations to achieve high degrees of parallelism.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If hash-table implementations are used on GPU to perform set operations, then set operations can be performed, but the domain of elements is limited to approximately 2^32 (4 billion) due to fixed-size keys and values

Engineering Contradiction:
Improvedomain of elementsVSAvoidfixed-size key limitation
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of key size from fixed 32-bit to variable-length keys by representing sets as sparse matrices where the domain is determined by the matrix dimensions rather than fixed key size. This allows elements beyond 2^32 to be stored by increasing the matrix dimension parameter.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent transitions from hash-table storage to sparse matrix representation, adding a dimensional aspect where the matrix rows represent the domain space. This dimensional change enables storing elements with indices beyond 2^32 by simply increasing the matrix row count.

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

2Ease of operation

If hash-table implementations are used on GPU to perform set operations, then set operations can be performed, but significant overhead is added to insertion/retrieval logic

Engineering Contradiction:
Improveinsertion/retrieval logicVSAvoidoverhead
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent replaces the mechanical hashing mechanism with direct sparse matrix operations. Instead of computing hash functions and managing collision resolution, the system uses sparse matrix representation where insertion and retrieval become direct index operations on matrix rows and columns, eliminating hashing overhead.

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

Solution Approach 2:

The patent extracts and removes the hashing layer from the set operation implementation. By representing sets directly as sparse matrices, the complex hash computation and collision handling logic is taken out, leaving only simple matrix indexing operations for insertion and retrieval.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If conventional CPU cores are used to perform set operations, then complex tasks can be performed, but the quantity of simpler tasks that can be performed in parallel is limited

Engineering Contradiction:
Improvequantity of parallel tasksVSAvoidcore structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the GPU universally applicable to set operations by representing sets as sparse matrices, a format that GPUs can process efficiently using their existing matrix operation capabilities. This allows GPUs to perform set operations without requiring specialized hardware, leveraging their general matrix processing universality.

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

Solution Approach 2:

The patent changes the operational parameters by representing set elements as matrix indices rather than hash keys. This parameter change enables GPUs to process set operations as matrix operations, utilizing their parallel processing strength across thousands of cores simultaneously.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS12450308B2Set operations using multi-core processing unit
Publication Date: 2025.10.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US12450308B2 patent drawing
  • US12450308B2 patent drawing
  • US12450308B2 patent drawing

AI summary

Performing set operations using sparse matrix operations offered by a multi-core processing unit (such as a graphics processing unit). The set operation is converted into operand matrices, and sparse matrix operations, foregoing the use of hash tables. The input set is converted into a matrix, a matrix operation corresponding to the set operation is identified, and one or more operands of the set operation are also represented within a matrix. The matrix operation is then performed on these matrices to obtain an output matrix, which is then converted to an output set.