Uwe Naumann

dblp:n/UweNaumann · DBLP profile ↗
← Back
17ranked-venue papers
6as first author
1since 2021 · last 2023
0000-0002-7518-5922ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 6Theory of computation · 6 · 4 first-author · 1 since 2021Software engineering, systems software and programming languages · 2Applied, interdisciplinary, general and emerging computing · 2 · 2 first-author
YearPublicationVenuePosition
2023 Subdomain separability in global optimization
abstract
Abstract We introduce a generalization of separability for global optimization, presented in the context of a simple branch and bound method. Our results apply to continuously differentiable objective functions implemented as computer programs. A significant search space reduction can be expected to yield an acceleration of any global optimization method. We show how to utilize interval derivatives calculated by adjoint algorithmic differentiation to examine the monotonicity of the objective with respect to so called structural separators and how to verify the latter automatically.
Jens Deussen, Uwe Naumann
J. Glob. Optim.2
2019 Adjoint Code Design Patterns
abstract
Adjoint methods have become fundamental ingredients of the scientific computing toolbox over the past decades. Large-scale parameter sensitivity analysis, uncertainty quantification, and nonlinear optimization would otherwise turn out computationally infeasible. The symbolic derivation of adjoint mathematical models for relevant problems in science and engineering and their implementation in consistency with the implementation of the underlying primal model frequently proves highly challenging. Hence, an increased interest in algorithmic adjoints can be observed. The algorithmic derivation of adjoint numerical simulation programs shifts some of the problems faced from functional and numerical analysis to computer science. It becomes a highly complex software engineering task requiring expertise in software analysis, transformation, and optimization. Despite rather mature software tool support for algorithmic differentiation, substantial user intervention is typically required when targeting nontrivial numerical programs. A large number of patterns shared by numerous application codes results in repeated duplication of development effort. The adjoint code design patterns introduced in this article aim to reduce this problem through improved formalization from the software engineering perspective. Fully functional reference implementations are provided through github.
Uwe Naumann
ACM Trans. Math. Softw.1
2016 Towards automatic significance analysis for approximate computing
abstract
Several applications may trade-off output quality for energy efficiency by computing only an approximation of their output. Current approaches to software-based approximate computing often require the programmer to specify parts of the code or data structures that can be approximated. A largely unaddressed challenge is how to automate the analysis of the significance of code for the output quality. To this end, we propose a methodology and toolset for automatic significance analysis. We use interval arithmetic and algorithmic differentiation in our profile-driven yet mathematical approach to evaluate the significance of input and intermediate variables for the output of a computation. Our methodology effectively matches decisions of a domain expert in significance characterization for a set of benchmarks, and in some cases offers new insights. Evaluation of the software infrastructure on a multicore x86 platform shows energy reduction (from 31% up to 91% with a mean of 56% compared to fully accurate execution, with graceful quality degradation.
Vassilis Vassiliadis, Jan Riehme, Jens Deussen, Konstantinos Parasyris, Christos D. Antonopoulos, Nikolaos Bellas, Spyros Lalis, Uwe Naumann
CGO8
2015 The IceProd framework: Distributed data processing for the IceCube neutrino observatory
Mark G. Aartsen, Rasha U. Abbasi, Markus Ackermann 0003, Jenni Adams, Juan Antonio Aguilar Sánchez, Markus Ahlers, David Altmann, Carlos A. Argüelles Delgado, Jan Auffenberg, Xinhua Bai, Michael F. Baker, Steven W. Barwick, Volker Baum, Ryan Bay, James J. Beatty, Julia K. Becker Tjus, Karl-Heinz Becker, Segev BenZvi, Patrick Berghaus, David Berley, Elisa Bernardini, Anna Bernhard, David Z. Besson, G. Binder, Daniel Bindig, Martin Bissok, Erik Blaufuss, Jan Blumenthal, David J. Boersma, Christian Bohm, Debanjan Bose, Sebastian Böser, Olga Botner, Lionel Brayeur, Hans-Peter Bretz, Anthony M. Brown, Ronald Bruijn, James Casey, Martin Casier, Dmitry Chirkin, Asen Christov, Brian John Christy, Ken Clark, Lew Classen, Fabian Clevermann, Stefan Coenders, Shirit Cohen, Doug F. Cowen, Angel H. Cruz Silva, Matthias Danninger, Jacob Daughhetee, James C. Davis 0002, Melanie Day, Catherine De Clercq, Sam De Ridder, Paolo Desiati, Krijn D. de Vries, Meike de With, Tyce DeYoung, Juan Carlos Díaz-Vélez, Matthew Dunkman, Ryan Eagan, Benjamin Eberhardt, Björn Eichmann, Jonathan Eisch, Sebastian Euler, Paul A. Evenson, Oladipo O. Fadiran, Ali R. Fazely, Anatoli Fedynitch, Jacob Feintzeig, Tom Feusels, Kirill Filimonov, Chad Finley, Tobias Fischer-Wasels, Samuel Flis, Anna Franckowiak, Katharina Frantzen, Tomasz Fuchs, Thomas K. Gaisser, Joseph S. Gallagher, Lisa Gerhardt, Laura E. Gladstone, Thorsten Glüsenkamp, Azriel Goldschmidt, Geraldina Golup, Javier G. González, Jordan A. Goodman, Dariusz Góra, Dylan T. Grandmont, Darren Grant, Pavel Gretskov, John C. Groh, Andreas Groß, Chang Hyon Ha, Abd Al Karim Haj Ismail, Patrick Hallen, Allan Hallgren, Francis Halzen, Kael D. Hanson, Dustin Hebecker, David Heereman, Dirk Heinen, Klaus Helbing, Robert Eugene Hellauer III, Stephanie Virginia Hickford, Gary C. Hill, Kara D. Hoffman, Ruth Hoffmann, Andreas Homeier, Kotoyo Hoshina, Feifei Huang, Warren Huelsnitz, Per Olof Hulth, Klas Hultqvist, Aya Ishihara, Emanuel Jacobi, John E. Jacobsen, Kai Jagielski, George S. Japaridze, Kyle Jero, Ola Jlelati, Basho Kaminsky, Alexander Kappes, Timo Karg, Albrecht Karle, Matthew Kauer, John Lawrence Kelley, Joanna Kiryluk, J. Kläs, Spencer R. Klein, Jan-Hendrik Köhne, Georges Kohnen, Hermann Kolanoski, Lutz Köpke, Claudio Kopper, Sandro Kopper, D. Jason Koskinen, Marek Kowalski, Mark Krasberg, Anna Kriesten, Kai Michael Krings, Gösta Kroll, Jan Kunnen, Naoko Kurahashi, Takao Kuwabara, Mathieu L. M. Labare, Hagar Landsman, Michael James Larson, Mariola Lesiak-Bzdak, Martin Leuermann, Julia Leute, Jan Lünemann, Oscar A. Macías-Ramírez, James Madsen, Giuliano Maggi, Reina Maruyama, Keiichi Mase, Howard S. Matis, Frank McNally, Kevin James Meagher, Martin Merck, Gonzalo Merino, Thomas Meures, Sandra Miarecki, Eike Middell, Natalie Milke, John Lester Miller, Lars Mohrmann, Teresa Montaruli, Robert M. Morse, Rolf Nahnhauer, Uwe Naumann, Hans Niederhausen, Sarah C. Nowicki, David R. Nygren, Anna Pollmann, Sirin Odrowski, Alex Olivas, Ahmad Omairat, Aongus Starbuck Ó Murchadha, Larissa Paul, Joshua A. Pepper, Carlos Pérez de los Heros, Carl Pfendner, Damian Pieloth, Elisa Pinat, Jonas Posselt, P. Buford Price, Gerald T. Przybylski, Melissa Quinnan, Leif Rädel, Ian Rae, Mohamed Rameez, Katherine Rawlins, Peter Christian Redl, René Reimann, Elisa Resconi, Wolfgang Rhode, Mathieu Ribordy, Michael Richman, Benedikt Riedel, J. P. Rodrigues, Carsten Rott, Tim Ruhe, Bakhtiyar Ruzybayev, Dirk Ryckbosch, Sabine M. Saba, Heinz-Georg Sander, Juan Marcos Santander, Subir Sarkar 0002, Kai Schatto, Florian Scheriau, Torsten Schmidt, Martin Schmitz 0004, Sebastian Schoenen, Sebastian Schöneberg, Arne Schönwald, Anne Schukraft, Lukas Schulte, David Schultz, Olaf Schulz, David Seckel, Yolanda Sestayo de la Cerra, Surujhdeo Seunarine, Rezo Shanidze, Chris Sheremata, Miles W. E. Smith, Dennis Soldin, Glenn M. Spiczak, Christian Spiering, Michael Stamatikos, Todor Stanev, Nick A. Stanisha, Alexander Stasik, Thorsten Stezelberger, Robert G. Stokstad, Achim Stößl, Erik A. Strahler, Rickard Ström, Nora Linn Strotjohann, Gregory W. Sullivan, Henric Taavola, Ignacio J. Taboada, Alessio Tamburro, Andreas Tepe, Samvel Ter-Antonyan, Gordana Tesic, Serap Tilav, Patrick A. Toale, Moriah Natasha Tobin, Simona Toscano, Maria Tselengidou, Elisabeth Unger, Marcel Usner, Sofia Vallecorsa, Nick van Eijndhoven, Arne Van Overloop, Jakob van Santen, Markus Vehring, Markus Voge, Matthias Vraeghe, Christian Walck, Tilo Waldenmaier, Marius Wallraff, Christopher Weaver 0001, Mark T. Wellons, Christopher H. Wendt, Stefan Westerhoff, Nathan Whitehorn, Klaus Wiebe, Christopher H. Wiebusch, Dawn R. Williams, Henrike Wissing, Martin Wolf 0007, Terri R. Wood, Kurt Woschnagg, Donglian Xu, Xianwu Xu, Juan Pablo Yáñez, Gaurang B. Yodh, Shigeru Yoshida, Pavel Zarzhitsky, Jan Ziemann, Simon Zierke, Marcel Zoll
J. Parallel Distributed Comput.174
2015 Algorithmic Differentiation of Numerical Methods: Tangent and Adjoint Solvers for Parameterized Systems of Nonlinear Equations
abstract
We discuss software tool support for the algorithmic differentiation (AD), also known as automatic differentiation, of numerical simulation programs that contain calls to solvers for parameterized systems of n nonlinear equations. The local computational overhead and the additional memory requirement for the computation of directional derivatives or adjoints of the solution of the nonlinear system with respect to the parameters can quickly become prohibitive for large values of n . Both are reduced drastically by analytical (and symbolic) approaches to differentiation of the underlying numerical methods. Following the discussion of the proposed terminology, we develop the algorithmic formalism building on prior work by other colleagues and present an implementation based on the AD software dco/c++. A representative case study supports the theoretically obtained computational complexity results with practical runtime measurements.
Uwe Naumann, Johannes Lotz 0001, Klaus Leppkes, Markus Towara
ACM Trans. Math. Softw.1
2013 Solving a Least-Squares Problem with Algorithmic Differentiation and OpenMP
Michael Förster, Uwe Naumann
Euro-Par2
2013 Discrete Adjoints of PETSc through dco/c++ and Adjoint MPI
Johannes Lotz 0001, Uwe Naumann, Max Sagebaum, Michel Schanen
Euro-Par2
2012 A Wish List for Efficient Adjoints of One-Sided MPI Communication
Michel Schanen, Uwe Naumann
EuroMPI2
2010 Second-Order Algorithmic Differentiation by Source Transformation of MPI Code
Michel Schanen, Michael Förster, Uwe Naumann
EuroMPI3
2009 Toward adjoinable MPI
abstract
Automatic differentiation is the primary means of obtaining analytic derivatives from a numerical model given as a computer program. Therefore, it is an essential productivity tool in numerous computational science and engineering domains. Computing gradients with the adjoint (also called reverse) mode via source transformation is a particularly beneficial but also challenging use of automatic differentiation. To date only ad hoc solutions for adjoint differentiation of MPI programs have been available, forcing automatic differentiation tool users to reason about parallel communication dataflow and dependencies and manually develop adjoint communication code. Using the communication graph as a model we characterize the principal problems of adjoining the most frequently used communication idioms. We propose solutions to cover these idioms and consider the consequences for the MPI implementation, the MPI user and MPI-aware program analysis. The MIT general circulation model serves as a use case to illustrate the viability of our approach.
Jean Utke, Laurent Hascoët, Patrick Heimbach, Chris Hill, Paul D. Hovland, Uwe Naumann
IPDPS6
2008 Optimal vertex elimination in single-expression-use graphs
abstract
The source transformation tool for automatic differentiation of Fortran programs ADIFOR uses a preaccumulation technique to speed up tangent-linear codes significantly compared to the standard forward mode. Reverse mode automatic differentiation is applied to all scalar assignments to generate efficient code for the computation of local gradients. It has been well known for some time that reverse mode is not necessarily the optimal choice for the computation of these statement-level gradients as it does not minimize the number of operations required. This article presents an efficient algorithm for the solution of this combinatorial optimization problem. The corresponding software is freely available for downloading on our website. Developers of software for automatic differentiation are invited to integrate the algorithm into their tools. Gradients of scalar multivariate functions can be computed by elimination methods on the linearized computational graph. The combinatorial optimization problem that aims to minimize the number of arithmetic operations performed by the elimination algorithm is known to be NP-complete. In this article we present a polynomial algorithm for solving a relevant subclass of this problem's instances. The proposed method relies on the ability to compute vertex covers in bipartite graphs in polynomial time. A simplified version of this graph algorithm is used in a research prototype of the differentiation-enabled NAGWare Fortran compiler for the preaccumulation of local gradients of scalar assignments in the context of automatic generation of efficient tangent-linear code for numerical programs.
Uwe Naumann
ACM Trans. Math. Softw.1
2008 OpenAD/F: A Modular Open-Source Tool for Automatic Differentiation of Fortran Codes
abstract
The Open/ADF tool allows the evaluation of derivatives of functions defined by a Fortran program. The derivative evaluation is performed by a Fortran code resulting from the analysis and transformation of the original program that defines the function of interest. Open/ADF has been designed with a particular emphasis on modularity, flexibility, and the use of open source components. While the code transformation follows the basic principles of automatic differentiation, the tool implements new algorithmic approaches at various levels, for example, for basic block preaccumulation and call graph reversal. Unlike most other automatic differentiation tools, Open/ADF uses components provided by the Open/AD framework, which supports a comparatively easy extension of the code transformations in a language-independent fashion. It uses code analysis results implemented in the OpenAnalysis component. The interface to the language-independent transformation engine is an XML-based format, specified through an XML schema. The implemented transformation algorithms allow efficient derivative computations using locally optimized cross-country sequences of vertex, edge, and face elimination steps. Specifically, for the generation of adjoint codes, Open/ADF supports various code reversal schemes with hierarchical checkpointing at the subroutine level. As an example from geophysical fluid dynamics, a nonlinear time-dependent scalable, yet simple, barotropic ocean model is considered. OpenAD/F's reverse mode is applied to compute sensitivities of some of the model's transport properties with respect to gridded fields such as bottom topography as independent (control) variables.
Jean Utke, Uwe Naumann, Michael W. Fagan, Nathan R. Tallent, Michelle Mills Strout, Patrick Heimbach, Chris Hill, Carl Wunsch
ACM Trans. Math. Softw.2
2006 Tangent-Linear Models by Augmented LL-Parsers
Uwe Naumann, Andre Vehreschild
ICCSA (1)1
2006 Efficient reversal of the intraprocedural flow of control in adjoint computations
Jean Utke, Andrew Lyons, Uwe Naumann
J. Syst. Softw.3
2005 "To be recorded" analysis in reverse-mode automatic differentiation
Laurent Hascoët, Uwe Naumann, Valérie Pascual
Future Gener. Comput. Syst.2
2005 A differentiation-enabled fortran 95 compiler
abstract
The availability of first derivatives of vector functions is crucial for the robustness and efficiency of a large number of numerical algorithms. An upcoming new version of the differentiation-enabled NAGWare Fortran 95 compiler is described that uses programming language extensions and a semantic code transformation known as automatic differentiation to provide Jacobians of numerical programs with machine accuracy. We describe a new user interface as well as the relevant algorithmic details. In particular, we focus on the source transformation approach that generates locally optimal gradient code for single assignments by vertex elimination in the linearized computational graph. Extensive tests show the superiority of this method over the current overloading-based approach. The robustness and convenience of the new compiler-feature is illustrated by various case studies.
Uwe Naumann, Jan Riehme
ACM Trans. Math. Softw.1
2003 Coupling Tangent-Linear and Adjoint Models
Uwe Naumann, Patrick Heimbach
ICCSA (2)1