Bi-directional Level Sets for Sparse Matrix Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for partitioning large sparse matrices in distributed memory multi-processor computer systems are inefficient, particularly in implicit finite element analysis, leading to high inter-processor communications and computational resource usage.

Innovation Solution

The use of bi-directional level sets to partition an undirected graph representing a matrix, where distance vectors are calculated to determine a coarse graph, and a trial partition scheme is iteratively improved to minimize the separator group, ultimately reducing inter-processor communications and optimizing resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If prior art approaches based on Nested Dissection are used to partition the matrix, then the partitioning can be performed using conventional methods, but the inter-processor communications increase and computational resources are not optimized in distributed memory systems

Engineering Contradiction:
ImproveCAE analysis performanceVSAvoidinter-processor communications
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent applies segmentation by dividing the undirected graph representing the sparse matrix into multiple partitions using bi-directional level sets. The graph is segmented into independent subgraphs that can be processed in parallel across distributed memory processors, minimizing the data that needs to be communicated between processors while maintaining computational efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transforms the traditional one-dimensional partitioning approach into a multi-dimensional approach by using bi-directional level sets that traverse the graph in multiple directions. This dimensional expansion allows for more optimal partitioning that reduces communication overhead in distributed memory systems by considering multiple traversal paths simultaneously.

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

2Loss of energy

If the separator group is minimized through iterative improvement, then the computational resources are reduced, but the partitioning process becomes more complex

Engineering Contradiction:
Improvecomputational resourcesVSAvoidpartitioning process complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-calculating distance vectors from source vertices to all other vertices in the graph before performing the actual partitioning. This preliminary computation of shortest paths enables the subsequent partitioning steps to be more efficient, as the distance information is already available to guide the bi-directional level set traversal and separator identification.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements feedback through iterative improvement of the separator group. After an initial partitioning is performed, the algorithm evaluates the separator size and iteratively adjusts the partitioning to minimize the separator group. This feedback loop continues until the separator is minimized, ensuring optimal reduction of computational resources while managing complexity through systematic refinement.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9507892B2Methods and systems for using bi-directional level sets to partition an undirected graph representing a matrix to be used in CAE
Publication Date: 2016.11.29 ANSYS INC
  • US9507892B2 patent drawing
  • US9507892B2 patent drawing
  • US9507892B2 patent drawing

AI summary

An N×N matrix is generated from computerized model representing a physical domain, comprises coefficients of N simultaneous linear equations with N unknown physical quantities associated with N degrees-of-freedom of the physical domain, and is represented by an undirected graph having N vertices connected by a plurality of edges. A best suitable partition scheme for dividing the N vertices into a separator group and, first and second mutually independent groups as follows: distance vectors of source vertices selected from the N vertices are calculated; for each distinct pair of the source vertices, the difference of respective distance vectors is used for finding a coarse graph whose adjacency coarse matrix is pentadiagonal; a trial partition scheme is determined using the coarse graph initially; the separator group is then iteratively improved by trimming vertices contained therein and merging them into one of the mutually independent groups until the separator group becomes minimal.