The Linear Direct Sparse Solver on GPU for Bundle Adjustment Method

Total Page:16

File Type:pdf, Size:1020Kb

The Linear Direct Sparse Solver on GPU for Bundle Adjustment Method i iii v Czech Technical University in Prague Faculty of Electrical Engineering Department of Cybernetics Master’s Thesis The Linear Direct Sparse Solver on GPU for Bundle Adjustment Method Bc. Ondrej Ivančík Supervisor: Ing. Ivan Šimeček, Ph.D. Study Programme: Open Informatics Field of Study: Computer Vision and Image Processing May 11, 2012 v vi Aknowledgements I would like to thank to my supervisor Ivan Šimeček who enabled me to deal with a very interesting topic and to prof. Olaf Hellwich and Cornelius Wefelscheid who allow me to work on my thesis within an individual project at TU Berlin. vii viii Declaration I hereby declare that I have completed this thesis independently and that I have listed all the literature and publications used. I have no objection to usage of this work in compliance with the act §60 Zákon č. 121/2000Sb. (copyright law), and with the rights connected with the copyright act including the changes in the act. Prague, May 11, 2012 ix Abstract The thesis deals with solving of sparse linear positive definite systems. It implements Cholesky decomposition on CPU utilizing a CRS format for sparse matrices, a fast AMD ordering, and a symbolic factorization. Analysed are possibilities of a parallelization of Cholesky decomposition for sparse diagonal-based linear systems and for Bundle Adjustment problem where matrices of specific structure arise. Cholesky decomposition exploiting a Schur complement is implemented on both CPU and GPU side. Abstrakt Práce se zabývá řešením řídkých lineárních pozitivně definitních soustav. Implementuje Choleského dekompozici na CPU s využitím CRS formátu řídkých matic, rychlé AMD permutace a symbolické faktorizace. Analyzuje možnosti paralelizace Choleského dekompozice pro řídké lineárné systémy diagonálního tvaru a pro problém vyrovnání svazku, kde vznikají řídké matice specifické struktury. Navrhuje a implementuje výpočet Choles- kého dekompozice na GPU a CPU pomoci Schůrova komplementu. x xi Contents 1 Introduction 2 1.1 Motivation ............................. 2 2 Solving Linear Systems 4 2.1 System of Linear Equations ................... 4 2.2 Direct Methods for Solving Linear Systems .......... 5 2.2.1 Cramer’s Rule ...................... 5 2.2.2 Forward and Backward Substitution .......... 5 2.2.3 Gaussian Elimination .................. 6 2.2.4 Gauss-Jordan Elimination ................ 7 2.2.5 LU Decomposition .................... 7 2.2.6 Cholesky Decomposition ................. 7 2.3 Iterative Methods for Solving Linear Systems ......... 8 3 Sparse Matrices 10 3.1 Ordering Methods ........................ 10 3.1.1 Arrowhead Matrix Example ............... 11 3.1.2 Graph Representation .................. 11 3.1.3 Bottom-up Ordering Methods .............. 12 3.1.4 Top-down Ordering Methods .............. 12 3.2 Symbolical Factorization ..................... 13 4 Bundle Adjustment 16 4.1 Unconstrained Optimization ................... 17 4.1.1 Search Methods ...................... 18 4.1.2 Levenberg–Marquardt Algorithm ............ 19 5 Overview of NVIDIA CUDA 22 5.1 The CUDA Execution Model .................. 23 5.2 GPU Memory ........................... 24 6 Analysis of the Problem 28 6.1 Structure of Linear Systems in BA ............... 28 xii xiii CONTENTS 6.2 Block Cholesky Decomposition for BA ............. 29 7 Implementation 34 7.1 Used Framework ......................... 34 7.2 Compressed Row Storage Format ................ 34 7.3 Cholesky decomposition on GPU ................ 35 7.4 Ordering for CPU solver ..................... 36 7.5 Block Matrix Format for GPU ................. 36 7.6 Block Cholesky decomposition on GPU ............. 37 7.7 Ordering for GPU solver ..................... 38 8 Testing 40 8.1 Octave solvers ........................... 40 8.2 CPU solver ............................ 41 8.3 GPU solver ............................ 42 8.4 CUSP solvers ........................... 43 9 Conclusion 44 A List of Abbrevations 50 B User Manual 52 B.1 Requirements ........................... 52 B.2 Usage ............................... 52 C Contetns of the Attached CD 54 List of Figures 3.1 The dependence of the reordering of a sparse matrix on the fill-in count ............................ 11 3.2 Ordering example ......................... 14 4.1 Reprojection error ........................ 17 5.1 Block diagram of a GF100 GPU ................. 24 5.2 Streaming multiprocessor of a GF100 (Fermi) GPU ...... 25 5.3 Bandwidth of various GPU memory .............. 25 6.1 An example of a modestly sized Hessian in BA ........ 30 7.1 Sample of a symmetric positive definite sparse matrix 6 × 6 with 22 nonzero elements .................... 35 7.2 Performing k-way ordering on diagonal-based matrix ’Wathen 10 × 10’ .............................. 38 7.3 Performing k-way ordering on diagonal-based matrix ’Poisson 30’ ................................. 39 8.1 Test of Octave solvers ...................... 41 8.2 Test of iterative CUSP solvers. Max. error is the maximal difference with Octave’s reference solution ........... 43 xiv xv LIST OF FIGURES Chapter 1 Introduction Finding a solution of a system of linear algebraic equations (2.1) is the most basic task in linear algebra and the heart of many engineering problems. It is the topic of studies for many years not only for its application in many branches of scientific computing, but also for its high computational com- plexity and a wide variety of methods and approaches that help to solve linear systems of different types faster and more accurately. Finding a solution for a system of nonlinear algebraic equations can be achieved using iterative solvers which keystone is solving a linear system in each iteration step to bring near the sufficiently accurate solution. There- fore, a linear solver forms a crucial part and a bottleneck of a nonlinear solver at the same time. A widely used optimization method in 3D reconstruction algorithms is bundle adjustment. As a nonlinear iterative optimization method, it needs to solve a sparse, often very large linear system of a specific structure many times. Studying of the suitable linear solver for bundle adjustment is the main part of my thesis. 1.1 Motivation One particular and promising approach for speeding-up the process of solving systems of linear equations consists in parallel computation. In case of dense direct solvers, the parallelization is more straightforward and has better per- formance results than those for sparse direct solvers. Iterative methods, almost used for solving large sparse linear systems, are efficiently paralleliz- able thanks to the character of iterative solvers that used only sparse matrix and vector multiplications and additions. 2 3 1.1. MOTIVATION In the last decade, there has been growing interest in general-purpose compu- tation on graphics processing units (GPGPU). Several libraries were devel- oped which implement basic linear algebra subroutines or even linear solvers for dense matrices (NVIDIA cuBLAS, MAGMA, CULA Dense) and sparse matrices (NVIDIA cuSparse, NVIDIA CUSP, CULA Sparse). At the present time, no implementation of a linear direct solver for general sparse matrices on GPU exists. The main cause is the problematic fine-grain parallelization and the thread divergence on a GPU. Sparse matrices consisting of many small independent full blocks on diagonal with some dependent parts on borders are formed during computation of bundle adjustment. It seems that there is possibility to eliminate these blocks in parallel manner effectively even on GPU. The question is which type of solver is more suitable — direct or iterative? My thesis aims to give the answer for it. Chapter 2 Solving Linear Systems1 2.1 System of Linear Equations Definition 1. A system of m linear equations in n unknowns consists of a set of algebraic relations of the form n aijxj = bi, i = 1,...,m (2.1) Xj=1 where xj are unknowns, aij are the coefficients of the system and bi are the components of the right-hand side. System (2.1) can be more conveniently written in matrix form as Ax = b, (2.2) m×n m where A = (aij) ∈ C denotes the coefficient matrix, b = (bi) ∈ C n the right side vector and x = (xi) ∈ C the unknown vector, respectively. A solution of (2.2) is any n-tuple of values xi which satisfies (2.1). Remark 1. The existence and uniqueness of the solution of are ensured if one of the following (equivalent) hypotheses holds: 1. A is invertible, 2. rank(A)= n, 3. the homogeneous system Ax = 0 admits only the null solution. In next chapters I will be dealing with numerical methods finding the solution of real-valued square systems of order n, that is, systems of the form (2.2) with A ∈ Rn×n and x, b ∈ Rn. Such linear systems arise frequently in any 1For this chapter was cited from [20] and [21] 4 5 2.2. DIRECT METHODS FOR SOLVING LINEAR SYSTEMS branch of science, also in bundle adjustment. These numerical methods can generally be divided into two classes. In absence of roundoff errors, direct methods yield the exact solution in a finite number of steps. Iterative methods require (theoretically) an infinite number of steps to find the exact solution. 2.2 Direct Methods for Solving Systems of Linear Equations 2.2.1 Cramer’s Rule The solution of system (2.2) is formally provided by Cramer’s rule det(Aj) xj = , j = 1,...,n, (2.3) det(A) where Aj is the matrix obtained by substituting the j-th column of A with the right-hand side b. If the determinants are evaluated by the recursive Laplace rule, the method based on Cramer’s rule turns out to be unac- ceptable even for small dimensions of A because of its computational costs (n + 1)! flops. However, Habgood and Arel [11] have recently shown that Cramer’s rule can be implemented in O(n3) time, which is comparable to more common methods of solving systems of linear equations. 2.2.2 Forward and Backward Substitution Definition 2. A square matrix with zero entries above the main diagonal (aij = 0 for i<j) is called lower triangular. A square matrix with zero entries below the main diagonal (aij = 0 for i>j) is called upper triangular. A lower (upper) triangular matrix is strictly lower (upper) triangular when its entries on the main diagonal are zeros, too.
Recommended publications
  • Recursive Approach in Sparse Matrix LU Factorization
    51 Recursive approach in sparse matrix LU factorization Jack Dongarra, Victor Eijkhout and the resulting matrix is often guaranteed to be positive Piotr Łuszczek∗ definite or close to it. However, when the linear sys- University of Tennessee, Department of Computer tem matrix is strongly unsymmetric or indefinite, as Science, Knoxville, TN 37996-3450, USA is the case with matrices originating from systems of Tel.: +865 974 8295; Fax: +865 974 8296 ordinary differential equations or the indefinite matri- ces arising from shift-invert techniques in eigenvalue methods, one has to revert to direct methods which are This paper describes a recursive method for the LU factoriza- the focus of this paper. tion of sparse matrices. The recursive formulation of com- In direct methods, Gaussian elimination with partial mon linear algebra codes has been proven very successful in pivoting is performed to find a solution of Eq. (1). Most dense matrix computations. An extension of the recursive commonly, the factored form of A is given by means technique for sparse matrices is presented. Performance re- L U P Q sults given here show that the recursive approach may per- of matrices , , and such that: form comparable to leading software packages for sparse ma- LU = PAQ, (2) trix factorization in terms of execution time, memory usage, and error estimates of the solution. where: – L is a lower triangular matrix with unitary diago- nal, 1. Introduction – U is an upper triangular matrix with arbitrary di- agonal, Typically, a system of linear equations has the form: – P and Q are row and column permutation matri- Ax = b, (1) ces, respectively (each row and column of these matrices contains single a non-zero entry which is A n n A ∈ n×n x where is by real matrix ( R ), and 1, and the following holds: PPT = QQT = I, b n b, x ∈ n and are -dimensional real vectors ( R ).
    [Show full text]
  • A Survey of Direct Methods for Sparse Linear Systems
    A survey of direct methods for sparse linear systems Timothy A. Davis, Sivasankaran Rajamanickam, and Wissam M. Sid-Lakhdar Technical Report, Department of Computer Science and Engineering, Texas A&M Univ, April 2016, http://faculty.cse.tamu.edu/davis/publications.html To appear in Acta Numerica Wilkinson defined a sparse matrix as one with enough zeros that it pays to take advantage of them.1 This informal yet practical definition captures the essence of the goal of direct methods for solving sparse matrix problems. They exploit the sparsity of a matrix to solve problems economically: much faster and using far less memory than if all the entries of a matrix were stored and took part in explicit computations. These methods form the backbone of a wide range of problems in computational science. A glimpse of the breadth of applications relying on sparse solvers can be seen in the origins of matrices in published matrix benchmark collections (Duff and Reid 1979a) (Duff, Grimes and Lewis 1989a) (Davis and Hu 2011). The goal of this survey article is to impart a working knowledge of the underlying theory and practice of sparse direct methods for solving linear systems and least-squares problems, and to provide an overview of the algorithms, data structures, and software available to solve these problems, so that the reader can both understand the methods and know how best to use them. 1 Wilkinson actually defined it in the negation: \The matrix may be sparse, either with the non-zero elements concentrated ... or distributed in a less systematic manner. We shall refer to a matrix as dense if the percentage of zero elements or its distribution is such as to make it uneconomic to take advantage of their presence." (Wilkinson and Reinsch 1971), page 191, emphasis in the original.
    [Show full text]
  • A Fast Implementation of the Minimum Degree Algorithm Using Quotient Graphs
    A Fast Implementation of the Minimum Degree Algorithm Using Quotient Graphs ALAN GEORGE University of Waterloo and JOSEPH W. H. LIU Systems Dimensions Ltd. This paper describes a very fast implementation of the m~n~mum degree algorithm, which is an effective heuristm scheme for fmding low-fill ordermgs for sparse positive definite matrices. This implementation has two important features: first, in terms of speed, it is competitive with other unplementations known to the authors, and, second, its storage requirements are independent of the amount of fill suffered by the matrix during its symbolic factorization. Some numerical experiments which compare the performance of this new scheme to some existing minimum degree programs are provided. Key Words and Phrases: sparse linear equations, quotient graphs, ordering algoritl~ms, graph algo- rithms, mathematical software CR Categories: 4.0, 5.14 1. INTRODUCTION Consider the symmetric positive definite system of linear equations Ax = b, (1.1) where A is N by N and sparse. It is well known that ifA is factored by Cholesky's method, it normally suffers some fill-in. Thus, if we intend to solve eq. (1.1) by this method, it is usual first to find a permutation matrix P and solve the reordered system (pApT)(px) = Pb, (1.2) where P is chosen such that PAP T suffers low fill-in when it is factored into LL T. There are four distinct and independent phases that can be identified in the entire computational process: Permmsion to copy without fee all or part of this material m granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the titleof the publication and its date appear, and notice is given that copying ts by permission of the Association for Computing Machinery.
    [Show full text]
  • State-Of-The-Art Sparse Direct Solvers
    State-of-The-Art Sparse Direct Solvers Matthias Bollhöfer, Olaf Schenk, Radim Janalík, Steve Hamm, and Kiran Gullapalli Abstract In this chapter we will give an insight into modern sparse elimination meth- ods. These are driven by a preprocessing phase based on combinatorial algorithms which improve diagonal dominance, reduce fill–in and improve concurrency to allow for parallel treatment. Moreover, these methods detect dense submatrices which can be handled by dense matrix kernels based on multi-threaded level–3 BLAS. We will demonstrate for problems arising from circuit simulation how the improvement in recent years have advanced direct solution methods significantly. 1 Introduction Solving large sparse linear systems is at the heart of many application problems arising from engineering problems. Advances in combinatorial methods in combi- nation with modern computer architectures have massively influenced the design of state-of-the-art direct solvers that are feasible for solving larger systems efficiently in a computational environment with rapidly increasing memory resources and cores. Matthias Bollhöfer Institute for Computational Mathematics, TU Braunschweig, Germany, e-mail: m.bollhoefer@tu- bs.de Olaf Schenk Institute of Computational Science, Faculty of Informatics, Università della Svizzera italiana, Switzerland, e-mail: [email protected] arXiv:1907.05309v1 [cs.DS] 11 Jul 2019 Radim Janalík Institute of Computational Science, Faculty of Informatics, Università della Svizzera italiana, Switzerland, e-mail: [email protected] Steve Hamm NXP, United States of America, e-mail: [email protected] Kiran Gullapalli NXP, United States of America, e-mail: [email protected] 1 2 M. Bollhöfer, O. Schenk, R. Janalík, Steve Hamm, and K.
    [Show full text]
  • On the Performance of Minimum Degree and Minimum Local Fill
    1 On the performance of minimum degree and minimum local fill heuristics in circuit simulation Gunther Reißig Before you cite this report, please check whether it has already appeared as a journal paper (http://www.reiszig.de/gunther, or e-mail to [email protected]). Thank you. The author is with Massachusetts Institute of Technology, Room 66-363, Dept. of Chemical Engineering, 77 Mas- sachusetts Avenue, Cambridge, MA 02139, U.S.A.. E-Mail: [email protected]. Work supported by Deutsche Forschungs- gemeinschaft. Part of the results of this paper have been obtained while the author was with Infineon Technologies, M¨unchen, Germany. February 1, 2001 DRAFT 2 Abstract Data structures underlying local algorithms for obtaining pivoting orders for sparse symmetric ma- trices are reviewed together with their theoretical background. Recently proposed heuristics as well as improvements to them are discussed and their performance, mainly in terms of the resulting number of factorization operations, is compared with that of the Minimum Degree and the Minimum Local Fill al- gorithms. It is shown that a combination of Markowitz' algorithm with these symmetric methods applied to the unsymmetric matrices arising in circuit simulation yields orderings significantly better than those obtained from Markowitz' algorithm alone, in some cases at virtually no extra computational cost. I. Introduction When the behavior of an electrical circuit is to be simulated, numerical integration techniques are usually applied to its equations of modified nodal analysis. This requires the solution of systems of nonlinear equations, and, in turn, the solution of numerous linear equations of the form Ax = b; (1) where A is a real n × n matrix, typically nonsingular, and x; b ∈ Rn [1–3].
    [Show full text]
  • Tiebreaking the Minimum Degree Algorithm For
    TIEBREAKING THE MINIMUM DEGREE ALGORITHM FOR ORDERING SPARSE SYMMETRIC POSITIVE DEFINITE MATRICES by IAN ALFRED CAVERS B.Sc. The University of British Columbia, 1984 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE in THE FACULTY OF GRADUATE STUDIES DEPARTMENT OF COMPUTER SCIENCE We accept this thesis as conforming to the required standard THE UNIVERSITY OF BRITISH COLUMBIA December 1987 © Ian Alfred Cavers, 1987 In presenting this thesis in partial fulfilment of the requirements for an advanced degree at the University of British Columbia, I agree that the Library shall make it freely available for reference and study. I further agree that permission for extensive copying of this thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. It is understood that copying or publication of this thesis for financial gain shall not be allowed without my written permission. Department of Computer Science The University of British Columbia 1956 Main Mall Vancouver, Canada V6T 1Y3 Date December 16, 1987 DE-6(3/81) Abstract The minimum degree algorithm is known as an effective scheme for identifying a fill reduced ordering for symmetric, positive definite, sparse linear systems, to be solved using a Cholesky factorization. Although the original algorithm has been enhanced to improve the efficiency of its implementation, ties between minimum degree elimination candidates are still arbitrarily broken. For many systems, the fill levels of orderings produced by the minimum degree algorithm are very sensitive to the precise manner in which these ties are resolved.
    [Show full text]
  • HIGH PERFORMANCE COMPUTING with SPARSE MATRICES and GPU ACCELERATORS by SENCER NURI YERALAN a DISSERTATION PRESENTED to the GRAD
    HIGH PERFORMANCE COMPUTING WITH SPARSE MATRICES AND GPU ACCELERATORS By SENCER NURI YERALAN A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2014 ⃝c 2014 Sencer Nuri Yeralan 2 For Sencer, Helen, Seyhun 3 ACKNOWLEDGMENTS I thank my research advisor and committee chair, Dr. Timothy Alden Davis. His advice, support, academic and spiritual guidance, countless one-on-one meetings, and coffee have shaped me into the researcher that I am today. He has also taught me how to effectively communicate and work well with others. Perhaps most importantly, he has taught me how to be uncompromising in matters of morality. It is truly an honor to have been his student, and I encourage any of his future students to take every lesson to heart - even when they involve poetry. I thank my supervisory committee member, Dr. Sanjay Ranka, for pressing me to strive for excellence in all of my endeavors, both academic and personal. He taught me how to conduct myself professionally and properly interface and understand the dynamics of university administration. I thank my supervisory committee member, Dr. Alin Dobra, for centering me and teaching me that often times the simple solutions are also, surprisingly, the most efficient. I also thank my supervisory committee members, Dr. My Thai and Dr. William Hager for their feedback and support of my research. They challenged me to look deeper into the problems to expose their underlying structures. I thank Dr. Meera Sitharam, Dr.
    [Show full text]
  • An Approximate Minimum Degree Ordering Algorithm
    An Approximate Minimum Degree Ordering Algorithm Patrick R. Amestoy∗ Timothy A. Davisy Iain S. Duffz SIAM J. Matrix Analysis & Applic., Vol 17, no 4, pp. 886-905, Dec. 1996 Abstract An Approximate Minimum Degree ordering algorithm (AMD) for preordering a symmetric sparse matrix prior to numerical factoriza- tion is presented. We use techniques based on the quotient graph for matrix factorization that allow us to obtain computationally cheap bounds for the minimum degree. We show that these bounds are of- ten equal to the actual degree. The resulting algorithm is typically much faster than previous minimum degree ordering algorithms, and produces results that are comparable in quality with the best orderings from other minimum degree algorithms. ∗ENSEEIHT-IRIT, Toulouse, France. email: [email protected]. yComputer and Information Sciences Department University of Florida, Gainesville, Florida, USA. phone: (904) 392-1481, email: [email protected]fl.edu. Technical reports and matrices are available via the World Wide Web at http://www.cis.ufl.edu/~davis, or by anonymous ftp at ftp.cis.ufl.edu:cis/tech-reports. Support for this project was provided by the National Science Foundation (ASC-9111263 and DMS-9223088). Portions of this work were supported by a post-doctoral grant from CERFACS. zRutherford Appleton Laboratory, Chilton, Didcot, Oxon. 0X11 0QX England, and European Center for Research and Advanced Training in Scientific Computation (CER- FACS), Toulouse, France. email: [email protected]. Technical reports, informa- tion on the Harwell Subroutine Library, and matrices are available via the World Wide Web at http://www.cis.rl.ac.uk/struct/ARCD/NUM.html, or by anonymous ftp at sea- mus.cc.rl.ac.uk/pub.
    [Show full text]
  • On Computing Min-Degree Elimination Orderings
    On Computing Min-Degree Elimination Orderings Matthew Fahrbach∗ Gary L. Miller† Richard Peng‡ Georgia Tech CMU Georgia Tech [email protected] [email protected] [email protected] Saurabh Sawlani‡ Junxing Wang Shen Chen Xu† Georgia Tech CMU Facebook§ [email protected] [email protected] [email protected] November 23, 2017 Abstract We study faster algorithms for producing the minimum degree ordering used to speed up Gaussian elimination. This ordering is based on viewing the non-zero elements of a symmetric positive definite matrix as edges of an undirected graph, and aims at reducing the additional non-zeros (fill) in the matrix by repeatedly removing the vertex of minimum degree. It is one of the most widely used primitives for pre-processing sparse matrices in scientific computing. Our result is in part motivated by the observation that sub-quadratic time algorithms for finding min-degree orderings are unlikely, assuming the strong exponential time hypothesis (SETH). This provides justification for the lack of provably efficient algorithms for generat- ing such orderings, and leads us to study speedups via degree-restricted algorithms as well as approximations. Our two main results are: (1) an algorithm that produces a min-degree order- 3 ing whose maximum degree is bounded by ∆ in O(m∆ log n) time, and (2) an algorithm that 5 finds an (1 + ǫ)-approximate marginal min-degree ordering in O(m log nǫ−2) time. Both of our algorithms rely on a host of randomization tools related to the ℓ0-estimator by [Cohen ‘97]. A key technical issue for the final nearly-linear time algorithm are the depen- dencies of the vertex removed on the randomness in the data structures.
    [Show full text]
  • A Fast Minimum Degree Algorithm and Matching Lower Bound
    A Fast Minimum Degree Algorithm and Matching Lower Bound Robert Cummings∗ Matthew Fahrbachy Animesh Fatehpuriaz Abstract in scientific computing [30, 31, 17, 16, 19]. This line of The minimum degree algorithm is one of the most widely- work culminated in the approximate minimum degree used heuristics for reducing the cost of solving large algorithm (AMD) of Amestoy, Davis, and Duff [2], sparse systems of linear equations. It has been studied which has long been a workhorse in the sparse linear for nearly half a century and has a rich history of bridging algebra libraries for Julia, MATLAB, Mathematica, techniques from data structures, graph algorithms, and and SciPy. Formally, the minimum degree algorithm scientific computing. In this paper, we present a simple is a preprocessing step that permutes the rows and but novel combinatorial algorithm for computing an columns of a sparse symmetric positive-definite matrix n×n exact minimum degree elimination ordering in O(nm) A 2 R , before applying Cholesky decomposition, in time, which improves on the best known time complexity an attempt to minimize the number of nonzeros in the of O(n3) and offers practical improvements for sparse Cholesky factor. Without a judicious reordering, the systems with small values of m. Our approach leverages decomposition typically becomes dense with fill-in (i.e., a careful amortized analysis, which also allows us to additional nonzeros). The goal of the minimum degree algorithm is to efficiently compute a permutation matrix derive output-sensitivep bounds for the running time of O(min(m m+; ∆m+) log n), where m+ is the number P such that the Cholesky factor L in the reordered of unique fill edges and original edges that the algorithm matrix PAP| = LL| is close to being optimally encounters and ∆ is the maximum degree of the input sparse.
    [Show full text]
  • Graph Sketching Against Adaptive Adversaries Applied to the Minimum Degree Algorithm
    2018 IEEE 59th Annual Symposium on Foundations of Computer Science Graph Sketching Against Adaptive Adversaries Applied to the Minimum Degree Algorithm Matthew Fahrbach∗, Gary L. Miller†, Richard Peng∗, Saurabh Sawlani∗. Junxing Wang† and Shen Chen Xu‡ ∗School of Computer Science, Georgia Institute of Technology, Atlanta, USA Email: [email protected], [email protected], [email protected] †School of Computer Science, Carnegie Mellon University. Pittsburgh, USA Email: [email protected], [email protected] ‡Facebook, Menlo Park, USA Email: [email protected] Abstract—Motivated by the study of matrix elimination structures are adaptive—meaning that subsequent updates orderings in combinatorial scientific computing, we utilize may depend on the output of previous queries. A classical graph sketching and local sampling to give a data structure example of this paradigm is the combination of greedy al- that provides access to approximate fill degrees of a matrix undergoing elimination in polylogarithmic time per elimination gorithms with data structures, including Dijkstra’s algorithm and query. We then study the problem of using this data for computing shortest paths and Kruskal’s algorithm for structure in the minimum degree algorithm, which is a widely- finding minimum spanning trees. The limitations imposed used heuristic for producing elimination orderings for sparse by adaptive adversaries are beginning to receive attention in matrices by repeatedly eliminating the vertex with (approx- the dynamic connectivity [29] and spanner [5] literature, but imate) minimum fill degree. This leads to a nearly-linear time algorithm for generating approximate greedy minimum even for these problems there remains a substantial gap be- degree orderings.
    [Show full text]
  • Fill-In Reduction in Sparse Matrix Factorizations Using Hypergraphs Oguz Kaya, Enver Kayaaslan, Bora Uçar, Iain S
    Fill-in reduction in sparse matrix factorizations using hypergraphs Oguz Kaya, Enver Kayaaslan, Bora Uçar, Iain S. Duff To cite this version: Oguz Kaya, Enver Kayaaslan, Bora Uçar, Iain S. Duff. Fill-in reduction in sparse matrix factorizations using hypergraphs. [Research Report] RR-8448, INRIA. 2014. hal-00932882v2 HAL Id: hal-00932882 https://hal.inria.fr/hal-00932882v2 Submitted on 14 Jan 2021 HAL is a multi-disciplinary open access L’archive ouverte pluridisciplinaire HAL, est archive for the deposit and dissemination of sci- destinée au dépôt et à la diffusion de documents entific research documents, whether they are pub- scientifiques de niveau recherche, publiés ou non, lished or not. The documents may come from émanant des établissements d’enseignement et de teaching and research institutions in France or recherche français ou étrangers, des laboratoires abroad, or from public or private research centers. publics ou privés. Fill-in reduction in sparse matrix factorizations using hypergraphs Oguz Kaya, Enver Kayaaslan, Bora Uçar, Iain S. Duff RESEARCH REPORT N° 8448 February 2013 Project-Team ROMA ISSN 0249-6399 ISRN INRIA/RR--8448--FR+ENG Fill-in reduction in sparse matrix factorizations using hypergraphs Oguz Kaya∗, Enver Kayaaslan†, Bora Uçar‡, Iain S. Duff§ Project-Team ROMA Research Report n° 8448 — February 2013 — 24 pages Abstract: We discuss the use of hypergraph partitioning-based methods for fill-reducing or- derings of sparse matrices in Cholesky, LU and QR factorizations. For the Cholesky factorization, we investigate a recent result on pattern-wise decomposition of sparse matrices, generalize the result, and develop algorithmic tools to obtain more effective ordering methods.
    [Show full text]