Papers
Topics
Authors
Recent
2000 character limit reached

RCM++:Reverse Cuthill-McKee ordering with Bi-Criteria Node Finder (2409.04171v2)

Published 6 Sep 2024 in cs.DS

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.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (22)
  1. The SuiteSparse Matrix Collection. https://sparse.tamu.edu/. Accessed: 2024-02-07.
  2. A recursive algebraic coloring technique for hardware-efficient symmetric sparse matrix-vector multiplication. ACM Transactions on Parallel Computing (TOPC), 7(3):1–37, 2020.
  3. ILONA Arany. Another method for finding pseudo-peripheral nodes. Annales Universitatis Scientiarum Budapestinensis de RolandoEtvos nominatae, tom4, pages 39–49, 1983.
  4. Boost. Boost c++ libraries, 2017. Accessed: 2017-06-28. URL: http://www.boost.org.
  5. W.M. Chan and A. George. A linear time implementation of the reverse cuthill-mckee algorithm. BIT, 20:8–14, 1980. doi:10.1007/BF01933580.
  6. E. Cuthill and J. McKee. Reducing the bandwidth of sparse symmetric matrices. In ACM Proceedings of the 1969 24th International Conference, pages 157–172, New York, USA, 1969. ACM.
  7. A. George and J. W. Liu. Computer solution of large sparse positive definite systems. Prentice-Hall, Englewood Cliffs, 1981.
  8. An algorithm for reducing the bandwidth and profile of a sparse matrix. SIAM Journal on Numerical Analysis, 13(2):236–250, 1976. doi:10.1137/0713023.
  9. S. L. Gonzaga de Oliveira and A. A. A. M. de Abreu. An evaluation of pseudoperipheral vertex finders for the reverse cuthill-mckee method for bandwidth and profile reductions of symmetric matrices. In 2018 37th International Conference of the Chilean Computer Science Society (SCCC), pages 1–9, Santiago, Chile, 2018.
  10. Nicholas J Higham. Cholesky factorization. Wiley interdisciplinary reviews: computational statistics, 1(2):251–254, 2009.
  11. A. Kaveh. Ordering for bandwidth reduction. Computer & Structure, 24:413–420, 1986.
  12. A. Kaveh. A connectivity coordinate system for node and element ordering. Computer & Structure, 41(6):1217–1223, 1991.
  13. A. Kaveh and H. A. Rahimi Bondarabady. Ordering for wavefront optimization. Computer & Structure, 78:227–235, 2000.
  14. Comparative analysis of the cuthill–mckee and the reverse cuthill–mckee ordering algorithms for sparse matrices. SIAM Journal on Numerical Analysis, 13(2):198–213, 1976.
  15. NetworkX Development Team. Networkx, 2023. Accessed: 2023-08-28. URL: https://networkx.org/.
  16. J. K. Pachl. Finding pseudoperipheral nodes in graphs. Journal of Computer and System Sciences, 29(1):48–53, 1984.
  17. pyutils. line_profiler: Line-by-line profiling for python. https://github.com/pyutils/line_profiler, 2023. Accessed: 2023-10-02.
  18. Ordering symmetric sparse matrices for small profile and wavefront. International Journal for Numerical Methods in Engineering, 45(12):1737–1755, 1999.
  19. S. W. Sloan. A fortran program for profile and wavefront reduction. International Journal for Numerical Methods in Engineering, 28(11):2651–2679, 1989. URL: https://onlinelibrary.wiley.com/doi/abs/10.1002/nme.1620281111, arXiv:https://onlinelibrary.wiley.com/doi/pdf/10.1002/nme.1620281111, doi:10.1002/nme.1620281111.
  20. W.F. Smyth. Algorithms for the reduction of matrix bandwidth and profile. Journal of Computational and Applied Mathematics, 12–13:551–561, 1985. doi:10.1016/0377-0427(85)90048-2.
  21. Inc. The MathWorks. Matlab, 2018. Accessed between 1994–2018. URL: http://www.mathworks.com/products/matlab.
  22. Bringing order to Sparsity: A Sparse Matrix Reordering Study on Multicore CPUs. SC ’23, New York, NY, USA, 2023. Association for Computing Machinery. URL: https://doi.org/10.1145/3581784.3607046.

Summary

We haven't generated a summary for this paper yet.

Dice Question Streamline Icon: https://streamlinehq.com

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Lightbulb Streamline Icon: https://streamlinehq.com

Continue Learning

We haven't generated follow-up questions for this paper yet.

List To Do Tasks Checklist Streamline Icon: https://streamlinehq.com

Collections

Sign up for free to add this paper to one or more collections.