# Jack Dongarra

Jack Joseph Dongarra (* 18. Juli 1950 in Chicago) ist ein US-amerikanischer Mathematiker und Informatiker, der sich mit numerischer linearer Algebra, parallelem Rechnen und Algorithmen und Programmierwerkzeugen für Hochleistungsrechner beschäftigt und auf diesen Gebieten als ein international führender Experte gilt.

## Leben

Dongarra ist der Sohn sizilianischer Einwanderer und der Erste in seiner Familie der aufs College ging. Als Kind und Jugendlicher litt er an unerkannter Dyslexie, es machte ihm aber Spaß Maschinen auseinanderzunehmen und mit ihnen zu spielen. Er studierte an der Chicago State University (Bachelor in Mathematik 1972), ursprünglich um Mathematiklehrer zu werden, wobei er sich sein Studium durch Arbeit in einer Pizzeria verdiente, und dem Illinois Institute of Technology (Master-Abschluss in Informatik 1973). 1980 wurde er in angewandter Mathematik an der University of New Mexico bei Cleve Barry Moler promoviert (Improving the Accuracy of computed Matrix Eigenvalues). Ab 1980 war er Senior Scientist und ab 1989 Distinguished Scientist des Argonne National Laboratory. Ab 1989 war er Professor für Informatik (ab 1990 Distinguished Professor) an der University of Tennessee und Distinguished Scientist am nahe gelegenen Oak Ridge National Laboratory. Er gründete dort ein Innovative Computing Laboratory. Außerdem ist er Adjunct Professor an der Rice University und an deren Zentrum für Hochleistungscomputer und war Turing Fellow an der University of Manchester.

## Werk

Dongarra trug unter anderem zu den Programmpaketen EISPACK, LINPACK, BLAS, LAPACK, ScaLAPACK, Netlib, Parallel Virtual Machine (PVM), Message Passing Interface (MPI), NetSolve, Benchmarks der Top500, Automatically Tuned Linear Algebra Software (ATLAS) und Performance Application Programming Interface (PAPI) bei.
An Eispack (einem Programmpaket insbesondere zur Eigenwert- und Eigenvektorberechnung) war er schon als Student 1972 am Argonne Labor beteiligt (unter Brian Smith). Dort wurden neuere Algorithmen implementiert als die klassischen Lehrbuchalgorithmen, unter anderem entwickelt vom Turing-Preisträger James H. Wilkinson und Christian Reinsch. Als Eispack 1974 veröffentlicht wurde, war er am Argonne-Labor voll angestellt, unterbrach aber die Arbeit um zu promovieren und so bessere Karrierechancen zu haben. Er arbeitete dort aber während der Arbeit an der Dissertation in Teilzeit an der Implementierung von Algorithmen am Cray 1 Supercomputer im Los Alamos National Laboratory.
Nach Eispack arbeitete er an Linpack, ein Programmpaket für die Lösung von linearen Gleichungssystemen und der Methode kleinster Quadrate, initiiert von G. W. „Pete“ Stewart, Clive Moler und Jim Bunch, die sich dazu regelmäßig jährlich im Argonne Laboratory trafen. Dongarra sollte zunächst eine Testumgebung für das Paket entwerfen, stieg aber bald zu einem der Hauptautoren auf. Linpack wurde eines der erfolgreichsten mathematischen Softwarepakete der 1980er Jahre und lief auf fast allen Systemen vom Supercomputer über Workstations zu PCs. Die Flexibilität beruhte auf der Verwendung von Unterroutinen für einfache Operationen in der linearen Algebra, genannt BLAS (Basic Linear Algebra Subprograms, ursprünglich 1971 von Charles Lawson und Richard Hanson am Jet Propulsion Laboratory der NASA eingeführt), was hier erstmals in einem größeren Softwareprojekt implementiert wurde. Dongarra führte für Linpack auch Benchmark-Tests aus der numerischen linearen Algebra für Hochleistungscomputer ein, die auch heute noch im Top500 Projekt verwendet werden.
Nach Linpack entwickelte er mit James Demmel Lapack, einer Bibliothek in der die Software von Linpack und Eispack (sowie BLAS) für die damalig vorherrschenden Supercomputer (Cray-1, Cray-MP), also Vektorrechner und Parallelrechner mit gemeinsamem Speicher für wenige parallel rechnende Prozessoren, optimiert wurde. Die erste Veröffentlichung war 1992, gefolgt von weiteren 1994 und 1999. Da nicht alle Hersteller das unterstützten entwickelte er mit seinen Studenten das ATLAS-Projekt zur Implementierung von BLAS für spezielle Computerarchitekturen. Mit der Weiterentwicklung der Hardware zu massiv parallelen Computern und Clustern von Prozessoren widmete sich Dongarra auch der Anpassung der Software für numerische lineare Algebra an diese Architekturen mit verteiltem Speicher (ScaLAPACK, für Scalable LAPACK, 1993 veröffentlicht). Dabei benutzten sie um die Portierbarkeit zu erleichtern PVM (Parallel Virtual Machine), was auch bei anderen Projekten Verbreitung fand. Er war auch an der Entwicklung des Message Passing Interface (MPI) beteiligt, das 1994 standardisiert wurde. Mit der weiteren Hardware-Entwicklung zu höherer Leistung insbesondere für Graphikanwendungen in den 2010er Jahren, wobei Supercomputer teilweise tausende Hochleistungs-Graphikchips parallel benutzten, schlug er 2016 eine neue Herangehensweise vor. Dazu wurden Rechnungen mit großen Matrizen automatisch in kleinere Blöcke zerlegt (implementiert in den Bibliotheken Magma und Slate und im Batched BLAS Standart).
2006 schlug er vor, wie man Gleitkomma-Rechnungen auf Basis von (präziseren) 64-Bit Zahlen mit der schnelleren auf Basis von 32-Bit Zahlen kombinieren kann, um Vorteile aus beiden Darstellungen zu ziehen und die Rechengeschwindigkeit zu optimieren. Die Methode setzte sich schnell durch zum Beispiel beim Maschinenlernen.
Mitte der 1980er Jahre gründete er mit Gene Golub und Eric Grosse während eines Aufenthalts an der Stanford University Netlib, mit der Motivation Software zu sammeln, die Doktoranden und andere während ihrer Arbeit entwickelten und sie über E-Mail anderen zugänglich zu machen. Als Dongarra und Grosse 1985 an den Bell Laboratories waren setzten sie die Idee in die Tat um, wobei beide die Auswahl der Software trafen. Später wurden bereits existierende Sammlungen wie die der ACM-Zeitschrift Transactions on Mathematical Software integriert.
Von Dongarra entwickelter oder in seinen Bibliotheken gesammelter Code fand Eingang in kommerzielle mathematische Softwarepakete wie Mathematica, Matlab, Maple oder die R-Programmiersprache.
Er ist seit 1992 Herausgeber des International Journal of High Performance Computing Applications und Gründer der Interessengruppe Supercomputing bei der SIAM.

## Ehrungen und Mitgliedschaften

Er ist Fellow der IEEE, der Association for Computing Machinery, der American Association for the Advancement of Science, der National Academy of Engineering und der Royal Society. 2016 wurde er zum auswärtigen Mitglied der Russischen Akademie der Wissenschaften gewählt. 2003 erhielt er den Sidney Fernbach Award, 2020 den Computer Pioneer Award. Außerdem erhielt er den SIAM/ACM Prize in Computational Science and Engineering und den ACM/IEEE Ken Kennedy Award.
Für das Jahr 2021 wurde Dongarra der Turing Award, eine der höchsten Auszeichnungen auf dem Gebiet der Informatik, zugesprochen, für seine Pionierbeiträge zu numerischen Algorithmen und Bibliotheken, die es Hochleistungs-Software ermöglichten über vier Jahrzehnte mit der exponentiellen Entwicklung der Hardware Schritt zu halten (Laudatio, For his pioneering contributions to numerical algorithms and libraries that enabled high performance computational software to keep pace with exponential hardware improvements for over four decades).
2023 wurde Dongarra zum Mitglied der National Academy of Sciences gewählt.
Er ist seit 1980 mit Susan Sauer verheiratet. Das Paar hat drei Kinder.

## Schriften

Bücher:
* mit Ian Foster, Geoffrey Fox: Sourcebook of parallel computing, Morgan Kaufmann 2003
* mit Enricos Kontoghiorges: Parallel numerical linear algebra, Nova Science 2001
* mit Alexey Lastovetsky: High performance heterogeneous computing, Wiley 2009
* mit Iain S. Duff, Danny C. Sorensen, Hank A. van der Vorst: Numerical linear algebra for high performance computing, SIAM 1987, 1998
* mit anderen: Solving linear systems on vector and shared memory computers, SIAM 1991
* mit Al Geist, Adam Beguelin: PVM: a users guide and tutorial for network parallel computing, MIT Press 1994
* mit William Gropp, Marc Snir u. a.: MPI: the complete reference, 2 Bände, MIT Press 1998
* Herausgeber mit David Bader, Jakub Kurzak: Scientific computing with multicore and accelerators, CRC Press 2010
* mit Zhaojun Bai, James Demmel, Axel Ruhe: Templates for the solution of algebraic eigenvalue problems, SIAM 1987