Michael A. Heroux
Sandia National Laboratories
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Michael A. Heroux.
ACM Transactions on Mathematical Software | 2005
Michael A. Heroux; Roscoe A. Bartlett; Vicki E. Howle; Robert J. Hoekstra; Jonathan Joseph Hu; Tamara G. Kolda; Richard B. Lehoucq; Kevin R. Long; Roger P. Pawlowski; Eric Todd Phipps; Andrew G. Salinger; Heidi K. Thornquist; Ray S. Tuminaro; James M. Willenbring; Alan B. Williams; Kendall S. Stanley
The Trilinos Project is an effort to facilitate the design, development, integration, and ongoing support of mathematical software libraries within an object-oriented framework for the solution of large-scale, complex multiphysics engineering and scientific problems. Trilinos addresses two fundamental issues of developing software for these problems: (i) providing a streamlined process and set of tools for development of new algorithmic implementations and (ii) promoting interoperability of independently developed software.Trilinos uses a two-level software structure designed around collections of packages. A Trilinos package is an integral unit usually developed by a small team of experts in a particular algorithms area such as algebraic preconditioners, nonlinear solvers, etc. Packages exist underneath the Trilinos top level, which provides a common look-and-feel, including configuration, documentation, licensing, and bug-tracking.Here we present the overall Trilinos design, describing our use of abstract interfaces and default concrete implementations. We discuss the services that Trilinos provides to a prospective package and how these services are used by various packages. We also illustrate how packages can be combined to rapidly develop new algorithms. Finally, we discuss how Trilinos facilitates high-quality software engineering practices that are increasingly required from simulation software.
ieee international conference on high performance computing data and analytics | 2011
Jack J. Dongarra; Pete Beckman; Terry Moore; Patrick Aerts; Giovanni Aloisio; Jean Claude Andre; David Barkai; Jean Yves Berthou; Taisuke Boku; Bertrand Braunschweig; Franck Cappello; Barbara M. Chapman; Xuebin Chi; Alok N. Choudhary; Sudip S. Dosanjh; Thom H. Dunning; Sandro Fiore; Al Geist; Bill Gropp; Robert J. Harrison; Mark Hereld; Michael A. Heroux; Adolfy Hoisie; Koh Hotta; Zhong Jin; Yutaka Ishikawa; Fred Johnson; Sanjay Kale; R.D. Kenway; David E. Keyes
Over the last 20 years, the open-source community has provided more and more software on which the world’s high-performance computing systems depend for performance and productivity. The community has invested millions of dollars and years of effort to build key components. However, although the investments in these separate software elements have been tremendously valuable, a great deal of productivity has also been lost because of the lack of planning, coordination, and key integration of technologies necessary to make them work together smoothly and efficiently, both within individual petascale systems and between different systems. It seems clear that this completely uncoordinated development model will not provide the software needed to support the unprecedented parallelism required for peta/ exascale computation on millions of cores, or the flexibility required to exploit new hardware models and features, such as transactional memory, speculative execution, and graphics processing units. This report describes the work of the community to prepare for the challenges of exascale computing, ultimately combing their efforts in a coordinated International Exascale Software Project.
ACM Transactions on Mathematical Software | 2002
L. Susan Blackford; Antoine Petitet; Roldan Pozo; Karin A. Remington; R. Clint Whaley; James Demmel; Jack J. Dongarra; Iain S. Duff; Sven Hammarling; Greg Henry; Michael A. Heroux; Linda Kaufman; Andrew Lumsdaine
L. SUSAN BLACKFORD Myricom, Inc. JAMES DEMMEL University of California, Berkeley JACK DONGARRA The University of Tennessee IAIN DUFF Rutherford Appleton Laboratory and CERFACS SVEN HAMMARLING Numerical Algorithms Group, Ltd. GREG HENRY Intel Corporation MICHAEL HEROUX Sandia National Laboratories LINDA KAUFMAN William Patterson University ANDREW LUMSDAINE Indiana University ANTOINE PETITET Sun Microsystems ROLDAN POZO National Institute of Standards and Technology KARIN REMINGTON The Center for Advancement of Genomics and R. CLINT WHALEY Florida State University
Archive | 2009
Sandia Report; Michael A. Heroux; Douglas W. Doerfler; Paul S. Crozier; James M. Willenbring; H. Carter Edwards; Alan B. Williams; Mahesh Rajan; Eric R. Keiter; Heidi K. Thorn; Robert W. Numrich
Application performance is determined by a combination of many choices: hardware platform, runtime environment, languages and compilers used, algorithm choice and implementation, and more. In this complicated environment, we find that the use of mini-applications - small self-contained proxies for real applications - is an excellent approach for rapidly exploring the parameter space of all these choices. Furthermore, use of mini-applications enriches the interaction between application, library and computer system developers by providing explicit functioning software and concrete performance results that lead to detailed, focused discussions of design trade-offs, algorithm choices and runtime performance issues. In this paper we discuss a collection of mini-applications and demonstrate how we use them to analyze and improve application performance on new and future computer platforms.
Archive | 2013
Sandia Report; Jack J. Dongarra; Michael A. Heroux
The High Performance Linpack (HPL), or Top 500, benchmark [1] is the most widely recognized and discussed metric for ranking high performance computing systems. However, HPL is increasingly unreliable as a true measure of system performance for a growing collection of important science and engineering applications. In this paper we describe a new high performance conjugate gradient (HPCG) benchmark. HPCG is composed of computations and data access patterns more commonly found in applications. Using HPCG we strive for a better correlation to real scientific application performance and expect to drive computer system design and implementation in directions that will better impact performance improvement.
SIAM Journal on Scientific Computing | 2001
David M. Day; Michael A. Heroux
Most preconditioned iterative methods apply to both real- and complex-valued linear systems. At the same time, most iterative linear solver packages available today focus exclusively on real-valued systems or deal with complex-valued systems as an afterthought. By recasting the complex problem in a real formulation, a real-valued solver can be applied to the equivalent real system. On one hand, real formulations have been dismissed due to their unfavorable spectral properties. On the other hand, using an equivalent preconditioned real formulation can be very effective. We give theoretical and experimental evidence that an equivalent real formulation is useful in a number of practical situations. Furthermore, we show how to use the advanced features of modern solver packages to formulate equivalent real preconditioners that are computationally efficient and mathematically identical to their complex counterparts. The effectiveness of equivalent real formulations is demonstrated by solving ill-conditioned complex-valued linear systems for a variety of large scale applications. Moreover, the circumstances under which certain equivalent real formulations are competitive is more clearly delineated.
ACM Transactions on Mathematical Software | 2002
Iain S. Duff; Michael A. Heroux; Roldan Pozo
We discuss the interface design for the Sparse Basic Linear Algebra Subprograms (BLAS), the kernels in the recent standard from the BLAS Technical Forum that are concerned with unstructured sparse matrices. The motivation for such a standard is to encourage portable programming while allowing for library-specific optimizations. In particular, we show how this interface can shield one from concern over the specific storage scheme for the sparse matrix. This design makes it easy to add further functionality to the sparse BLAS in the future.We illustrate the use of the Sparse BLAS with examples in the three supported programming languages, Fortran 95, Fortran 77, and C.
Archive | 2003
James M. Willenbring; Michael A. Heroux
The Trilinos Project is an effort to facilitate the design, development, integration and ongoing support of mathematical software libraries. A new software capability is introduced into Trilinos as a package. A Trilinos package is an integral unit usually developed by a small team of experts in a particular algorithms area such as algebraic preconditioners, nonlinear solvers, etc. The Trilinos Users Guide is a resource for new and existing Trilinos users. Topics covered include how to configure and build Trilinos, what is required to integrate an existing package into Trilinos and examples of how those requirements can be met, as well as what tools and services are available to Trilinos packages. Also discussed are some common practices that are followed by many Trilinos package developers. Finally, a snapshot of current Trilinos packages and their interoperability status is provided, along with a list of supported computer platforms.
Science | 2016
Victoria C. Stodden; Marcia McNutt; David H. Bailey; Ewa Deelman; Yolanda Gil; Brooks Hanson; Michael A. Heroux; John P. A. Ioannidis
Data, code, and workflows should be available and cited Over the past two decades, computational methods have radically changed the ability of researchers from all areas of scholarship to process and analyze data and to simulate complex systems. But with these advances come challenges that are contributing to broader concerns over irreproducibility in the scholarly literature, among them the lack of transparency in disclosure of computational methods. Current reporting methods are often uneven, incomplete, and still evolving. We present a novel set of Reproducibility Enhancement Principles (REP) targeting disclosure challenges involving computation. These recommendations, which build upon more general proposals from the Transparency and Openness Promotion (TOP) guidelines (1) and recommendations for field data (2), emerged from workshop discussions among funding agencies, publishers and journal editors, industry participants, and researchers representing a broad range of domains. Although some of these actions may be aspirational, we believe it is important to recognize and move toward ameliorating irreproducibility in computational research.
Archive | 2006
Michael A. Heroux; Padma Raghavan; Horst D. Simon
List of Figures List of Tables Preface 1. Frontiers of Scientific Computing. An Overview Part I. Performance Modeling, Analysis and Optimization 2. Performance Analysis. From Art to Science 3. Approaches to Architecture-Aware Parallel Scientific Computation 4. Achieving High Performance on the BlueGene/L Supercomputer 5. Performance Evaluation and Modeling of Ultra-Scale Systems Part II. Parallel Algorithms and Enabling Technologies 6. Partitioning and Load Balancing 7. Combinatorial Parallel and Scientific Computing 8. Parallel Adaptive Mesh Refinement 9. Parallel Sparse Solvers, Preconditioners, and Their Applications 10. A Survey of Parallelization Techniques for Multigrid Solvers 11. Fault Tolerance in Large-Scale Scientific Computing Part III. Tools and Frameworks for Parallel Applications 12. Parallel Tools and Environments. A Survey 13. Parallel Linear Algebra Software 14. High-Performance Component Software Systems 15. Integrating Component-Based Scientific Computing Software Part IV. Applications of Parallel Computing 16. Parallel Algorithms for PDE-Constrained Optimization 17. Massively Parallel Mixed-Integer Programming 18. Parallel Methods and Software for Multicomponent Simulations 19. Parallel Computational Biology 20. Opportunities and Challenges for Parallel Computing in Science and Engineering Index.