Full and Partial Jacobian Computation Via Graph Coloring: Algorithms and Applications
Total Page:16
File Type:pdf, Size:1020Kb
Full and partial Jacobian computation via graph coloring: Algorithms and applications Von der Fakult¨at f¨ur Mathematik, Informatik und Naturwissenschaften der RWTH Aachen University zur Erlangung des akademischen Grades eines Doktors der Naturwissenschaften genehmigte Dissertation vorgelegt von Diplom-Informatiker Michael L¨ulfesmann aus Bielefeld Berichter: apl. Professor Dr.-Ing. H. Martin B¨ucker Professor Dr. Rob H. Bisseling Professor Dr. Berthold V¨ocking Tag der m¨undlichen Pr¨ufung: 5. April 2012 Diese Dissertation ist auf den Internetseiten der Hochschulbibliothek online verf¨ugbar. Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet uber: http://dnb.d-nb.de abrufbar. 1. Aufl. - Gottingen:: Cuvillier, 2012 Zugl.: (RWTH)Aachen, Univ., Diss., 2012 978-3-95404-101-5 D 82 (Diss. RWTH Aachen University, 2012) ø CUVILLIER VERLAG, Gottingen: 2012 Nonnenstieg 8, 37075 Gottingen: Telefon: 0551-54724-0 Telefax: 0551-54724-21 www.cuvillier.de Alle Rechte vorbehalten. Ohne ausdruckliche: Genehmigung des Verlages ist es nicht gestattet, das Buch oder Teile daraus auf fotomechanischem Weg (Fotokopie, Mikrokopie) zu vervielfaltigen.: 1. Auflage, 2012 Gedruckt auf saurefreiem: Papier 978-3-95404 -101-5 Abstract Simulations and optimizations are carried out to investigate real-world problems in science and engineering. For instance, solving systems of linear equations with sparse Jacobian matrices is mandatory when using a Newton-type algorithm. The sparsity of Jacobian matrices is exploited and only a subset of the nonzero elements is determined to successfully reduce the usage of the restricting resources—memory and computational effort. This reduction is crucial to investigate real-world problems. The determination of all nonzero elements is denoted as full Jacobian computa- tion, opposed to the partial Jacobian computation where only a subset of the nonzero elements is computed. Reducing the computational effort to determine nonzero ele- ments with automatic differentiation is modeled by graph coloring problems. Beside the bipartite graph model for general Jacobian matrices, regular Cartesian grids are a graph class arising from stencil-based computations. In this thesis, graph coloring algorithms for full and partial Jacobian computation are introduced, for both rep- resentations. Furthermore, for regular grids, the presented algorithms even result in minimal colorings. Thereafter, several classes of Jacobian matrices are considered to assess which coloring method should be employed for which class. Iterative solvers for systems of linear equations are matrix-free and require solely access to (transposed) Jacobian matrix-vector products. These products are effi- ciently provided by automatic differentiation without storing the nonzero elements of the Jacobian matrix. However, when using standard preconditioning techniques to speed up the solution of the linear systems, the access to these nonzero elements is necessary. In this thesis, the preconditioning technique is restricted to a subset of the Jacobian elements which are determined using partial Jacobian computation. The bipartite graph model is employed to determine a coloring but also to carry out the symbolic factorization for the preconditioning. An initial set of nonzero elements is given; further nonzero elements are chosen without exceeding the computational effort and the available memory. A classification for these nonzero elements is intro- duced. Strategies and algorithms to select these elements are given. Finally, the coloring algorithms as well as the combination of preconditioning and partial Jacobian computation are applied to several applications from science and engineering. It is shown that the demands of memory and computational effort are successfully reduced. Zusammenfassung Simulationen und Optimierungen werden genutzt, um anwendungsnahe Fragestel- lungen in den Natur- und Ingenieurwissenschaften zu untersuchen. Das L¨osen von linearen Gleichungssystemen mit dunnbesetzten¨ Jacobi-Matrizen ist zum Beispiel fur¨ das Newton-Verfahren zwingend erforderlich. Speicherverbrauch und Berechnungs- aufwand werden durch das Ausnutzen der Dunnbesetztheit¨ dieser Matrizen und die Berechnung einer Teilmenge der Nichtnullelemente verringert. Diese Reduktion ist fur¨ die Untersuchung von anwendungsnahen Fragestellungen entscheidend. Das Bestimmen aller Nichtnullelemente einer Jacobi-Matrix wird als vollst¨andige Berechnung bezeichnet. Bei der partiellen Berechnung hingegen wird nur eine Teil- menge der Nichtnullelemente bestimmt. Die Nichtnullelemente werden mit Hilfe des automatischen Differenzierens berechnet. Das Verringern des Berechnungsauf- wands wird als Graphf¨arbungsproblem modelliert. Neben dem bipartiten Graphmo- dell fur¨ Jacobi-Matrizen mit beliebiger Struktur werden auch regul¨are kartesische Gitter betrachtet. In dieser Arbeit werden Graphf¨arbungsalgorithmen sowohl fur¨ die vollst¨andige als auch fur¨ die partielle Berechnung von Jacobi-Matrizen eingefuhrt.¨ Fur¨ die regul¨aren Gitter sind die F¨arbungen sogar minimal. Abschließend wird fur¨ verschiedene Matrixklassen das F¨arbungsverfahren, das zur geringsten Farbanzahl fuhrt,¨ gesucht. Zum L¨osen linearer Gleichungssysteme mit Hilfe eines iterativen Verfahrens ist die Berechnung von (transponierten) Jacobi-Matrix-Vektor-Produkten ausreichend. Eine explizite Aufstellung der Jacobi-Matrizen ist nicht erforderlich. Durch das automa- tische Differenzieren werden Jacobi-Matrix-Vektor-Produkte effizient zur Verfugung¨ gestellt, wobei das Speichern der Nichtnullelemente der entsprechenden Jacobi-Matrix nicht erforderlich ist. Der Zugriff auf die Nichtnullelemente ist jedoch notwendig, um den L¨osungsprozess mit Hilfe von Standardtechniken der Vorkonditionierung zu be- schleunigen. In dieser Arbeit werden die Vorkonditionierer aufgrund einer Teilmenge der Nichtnullelemente bestimmt. Das bipartite Graphmodell wird nicht nur verwen- det, um eine F¨arbung zu berechnen, sondern auch, um das symbolische Faktorisieren fur¨ die Vorkonditionierung durchzufuhren.¨ Nachdem eine anf¨angliche Teilmenge von Nichtnullelementen gegeben ist, werden weitere Nichtnullelemente ausgew¨ahlt, oh- ne dass der Berechnungsaufwand und der verfugbare¨ Speicher uberschritten¨ werden. Nach der Klassifizierung der Nichtnullelemente werden Auswahlstrategien und ent- sprechende Algorithmen eingefuhrt.¨ Sowohl die F¨arbungsalgorithmen als auch die Kombination von Vorkonditionierung und partieller Berechnung von Jacobi-Matrizen werden in Anwendungen der Natur- und Ingenieurwissenschaften angewendet. Dadurch wird gezeigt, dass die Anforde- rungen an den Speicher und den Berechnungsaufwand erfolgreich verringert werden. Acknowledgements My deepest gratitude is to my advisor, apl. Professor Dr.-Ing. H. Martin B¨ucker. Starting with an introductory course in high-performance computing many years ago, he introduced me to the world of science and guided me till finishing my thesis. I would like to acknowledge the reviewers of this thesis, Professor Dr. Rob H. Bisseling and Professor Dr. Berthold V¨ocking, for carefully reading and commenting on my thesis. At the Institute of Scientific Computing at the RWTH Aachen University I really appreciated the stimulating research environment. I would like to express thanks to Professor Christian H. Bischof, Ph.D., the former Institute’s head, for his advises how to manage research and projects. Special thanks go to my former colleagues Dr. Oliver Fortmeier, Dr. Monika Petera, Dr. Arno Rasch, Dr. Andre Vehreschild, Johannes Willkomm, and Dr. Andreas Wolf. Beside valuable discussions, I could benefit from their different skills and experiences. Professor Ken-ichi Kawarabayashi, Ph.D. of the National Institute of Informatics, Tokyo, Japan granted me kind hospitality during my research visit in 2010. Many thanks to him. He drew my attention to work on exact graph coloring algorithms. While using parallel computing resources and parallelization techniques, the sup- port of the members of the HPC Team of Center for Computing and Communication (CCC) at the RWTH Aachen University was very helpful. In particular, I would like to express special thanks to Dirk Schmidl. I am also thankful to the students, Alexan- dru Calotoiu, Mircean Gherzan, Daniel Hering, and Simon Lessenich, for their col- laboration. Special thanks to the proofreaders, Dr. Oliver Fortmeier, Dirk Schmidl, Christian Terboven, and Johannes Willkomm, and their comments on different parts of my thesis. For the case studies, I really appreciated the support with simulation programs given by some researchers from the RWTH Aachen University. Christina supported me throughout the process of writing my thesis. Most notably, she distracted me to regain my strength. Thank you. Contents 1 Introduction 1 2 Exploiting sparsity in Jacobian computation 5 2.1 FullJacobiancomputation . 5 2.2 PartialJacobiancomputation . 7 2.3 Graphrepresentation ........................... 9 2.4 Gridrepresentation ............................ 12 3 Colorings for full and partial Jacobian computation 17 3.1 Exact sub-exponential coloring algorithm for regular grids ...... 17 3.1.1 FullJacobiancomputation . 17 3.1.2 PartialJacobiancomputation . 30 3.2 Size-independent exact coloring algorithm for regular grids ...... 35 3.3 Two-sided coloring algorithm for general graphs . 41 3.4 Are two-sided colorings better than one-sided colorings?.......