Table of Contents
Fetching ...

RCM++:Reverse Cuthill-McKee ordering with Bi-Criteria Node Finder

JiaJun Hou, HongJie Liu, ShengXin Zhu

TL;DR

A novel algorithm addressing the RCM starting node problem is introduced by considering both the eccentricity and the width of the node during the run by considering both the eccentricity and the width of the node during the run.

Abstract

The Reverse Cuthill-McKee (RCM) algorithm is a graph-based method for reordering sparse matrices, renowned for its effectiveness in minimizing matrix bandwidth and profile. This reordering enhances the efficiency of matrix operations, making RCM pivotal among reordering algorithms. In the context of executing the RCM algorithm, it is often necessary to select a starting node from the graph representation of the matrix. This selection allows the execution of BFS (Breadth-First Search) to construct the level structure. The choice of this starting node significantly impacts the algorithm's performance, necessitating a heuristic approach to identify an optimal starting node, commonly referred to as the RCM starting node problem. Techniques such as the minimum degree method and George-Liu (GL) algorithm are popular solutions. This paper introduces a novel algorithm addressing the RCM starting node problem by considering both the eccentricity and the width of the node during the run. Integrating this algorithm with the RCM algorithm, we introduce RCM++. Experimental results demonstrate that RCM++ outperforms existing RCM methods in major software libraries, achieving higher quality results with comparable computation time. This advancement fosters the further application and development of the RCM algorithm.The code related to this research has been made available at https://github.com/SStan1/RCM\_PP.git.

RCM++:Reverse Cuthill-McKee ordering with Bi-Criteria Node Finder

TL;DR

A novel algorithm addressing the RCM starting node problem is introduced by considering both the eccentricity and the width of the node during the run by considering both the eccentricity and the width of the node during the run.

Abstract

The Reverse Cuthill-McKee (RCM) algorithm is a graph-based method for reordering sparse matrices, renowned for its effectiveness in minimizing matrix bandwidth and profile. This reordering enhances the efficiency of matrix operations, making RCM pivotal among reordering algorithms. In the context of executing the RCM algorithm, it is often necessary to select a starting node from the graph representation of the matrix. This selection allows the execution of BFS (Breadth-First Search) to construct the level structure. The choice of this starting node significantly impacts the algorithm's performance, necessitating a heuristic approach to identify an optimal starting node, commonly referred to as the RCM starting node problem. Techniques such as the minimum degree method and George-Liu (GL) algorithm are popular solutions. This paper introduces a novel algorithm addressing the RCM starting node problem by considering both the eccentricity and the width of the node during the run. Integrating this algorithm with the RCM algorithm, we introduce RCM++. Experimental results demonstrate that RCM++ outperforms existing RCM methods in major software libraries, achieving higher quality results with comparable computation time. This advancement fosters the further application and development of the RCM algorithm.The code related to this research has been made available at https://github.com/SStan1/RCM\_PP.git.
Paper Structure (16 sections, 8 equations, 6 figures, 1 table)

This paper contains 16 sections, 8 equations, 6 figures, 1 table.

Figures (6)

  • Figure 1: The figure used to demonstrate the effect of the Reverse Cuthill-McKee algorithm.
  • Figure 2: A small matrix is used as an example to illustrate the superiority of the RCM++ algorithm over the GL_RCM algorithm. The green lines distinguish levels.Different algorithms were chosen for different results, GL chose node 18 while BNF chose node 6.
  • Figure 3: This figure presents the proportion of optimal results selected by each method out of the total results.The suffix BW represents the use of bandwidth as the evaluation metric, while the suffix P indicates the use of profile as the evaluation metric. It can be observed that RCM++ consistently selects a higher number of optimal results in terms of both bandwidth and profile.
  • Figure 4: The relative differences in bandwidth and profile between the result of MIND_RCM algorithm compared to the result of GL_RCM and RCM++ algorithms are shown. The X-axis represents the index of matrices sorted by size in ascending order. The data in the figure has been smoothed using exponential smoothing with a span of 100.A higher relative difference indicates a stronger ability to reduce bandwidth and profile. As shown, RCM++ almost always achieves better results.
  • Figure 5: The running times of GL, BNF, and MIND over 100 iterations are shown, with the X-axis representing the index of matrices sorted by size. The data has also been smoothed using exponential smoothing with a span of 100. It can be observed that the running time of BNF is similar to that of MIND, while GL has the fastest running time. The differences between them are minimal.
  • ...and 1 more figures