Victor Eijkhout
University of Texas at Austin
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Victor Eijkhout.
Proceedings of the IEEE | 2005
James Demmel; Jack J. Dongarra; Victor Eijkhout; Erika Fuentes; Antoine Petitet; Rich Vuduc; R. C. Whaley; Katherine A. Yelick
One of the main obstacles to the efficient solution of scientific problems is the problem of tuning software, both to the available architecture and to the user problem at hand. We describe approaches for obtaining tuned high-performance kernels and for automatically choosing suitable algorithms. Specifically, we describe the generation of dense and sparse Basic Linear Algebra Subprograms (BLAS) kernels, and the selection of linear solver algorithms. However, the ideas presented here extend beyond these areas, which can be considered proof of concept.
Siam Review | 1991
Victor Eijkhout; Panayot S. Vassilevski
The basic theory of the strengthened Cauchy–Buniakowskii–Schwarz inequality and its applications in multilevel methods for the solution of linear systems arising from finite element or finite difference discretisation of elliptic partial differential equations is surveyed. Proofs are given both in a finite element context, and in purely algebraic form.
Journal of Hydrometeorology | 2011
Cédric H. David; David R. Maidment; Guo Yue Niu; Zong-Liang Yang; Florence Habets; Victor Eijkhout
AbstractThe mapped rivers and streams of the contiguous United States are available in a geographic information system (GIS) dataset called National Hydrography Dataset Plus (NHDPlus). This hydrographic dataset has about 3 million river and water body reaches along with information on how they are connected into networks. The U.S. Geological Survey (USGS) National Water Information System (NWIS) provides streamflow observations at about 20 thousand gauges located on the NHDPlus river network. A river network model called Routing Application for Parallel Computation of Discharge (RAPID) is developed for the NHDPlus river network whose lateral inflow to the river network is calculated by a land surface model. A matrix-based version of the Muskingum method is developed herein, which RAPID uses to calculate flow and volume of water in all reaches of a river network with many thousands of reaches, including at ungauged locations. Gauges situated across river basins (not only at basin outlets) are used to autom...
ieee international conference on high performance computing data and analytics | 2003
Jack J. Dongarra; Victor Eijkhout
The challenge for the development of next generation software is the successful management of the complex grid environment while delivering to the scientist the full power of flexible compositions of the available algorithmic alternatives. Self-Adapting Numerical Software (SANS) systems are intended to meet this significant challenge. A SANS system comprises intelligent next generation numerical software that domain scientists - with disparate levels of knowledge of algorithmic and programmatic complexities of the underlying numerical software - can use to easily express and efficiently solve their problem. The components of a SANS system are: • A SANS agent with: - An intelligent component that automates method selection based on data, algorithm and system attributes. - A system component that provides intelligent management of and access to the computational grid. - A history database that records relevant information generated by the intelligent component and maintains past performance data of the interaction (e.g., algorithmic, hardware specific, etc.) between SANS components. • A simple scripting language that allows a structured multilayered implementation of the SANS while ensuring portability and extensibility of the user interface and underlying libraries. • An XML/CCA-based vocabulary of metadata to describe behavioral properties of both data and algorithms. • System components, including a runtime adaptive scheduler, and prototype libraries that automate the process of architecture-dependent tuning to optimize performance on different platforms. A SANS system can dramatically improve the ability of computational scientists to model complex, interdisciplinary phenomena with maximum efficiency and a minimum of extra-domain expertise. SANS innovations (and their generalizations) will provide to the scientific and engineering community a dynamic computational environment in which the most effective library components are automatically selected based on the problem characteristics, data attributes, and the state of the grid.
Ibm Journal of Research and Development | 2006
Jack J. Dongarra; George Bosilca; Zizhong Chen; Victor Eijkhout; Graham E. Fagg; Erika Fuentes; Julien Langou; Piotr Luszczek; Jelena Pješivac-Grbović; Keith Seymour; Haihang You; Sathish S. Vadhiyar
The challenge for the development of next-generation software is the successful management of the complex computational environment while delivering to the scientist the full power of flexible compositions of the available algorithmic alternatives. Self-adapting numerical software (SANS) systems are intended to meet this significant challenge. The process of arriving at an efficient numerical solution of problems in computational science involves numerous decisions by a numerical expert. Attempts to automate such decisions distinguish three levels: algorithmic decision, management of the parallel environment, and processor-specific tuning of kernels. Additionally, at any of these levels we can decide to rearrange the users data. In this paper we look at a number of efforts at the University of Tennessee to investigate these areas.
Journal of Computational and Applied Mathematics | 2000
Jack J. Dongarra; Victor Eijkhout
Abstract The increasing availability of advanced-architecture computers has a significant effect on all spheres of scientific computation, including algorithm research and software development in numerical linear algebra. Linear algebra – in particular, the solution of linear systems of equations – lies at the heart of most calculations in scientific computing. This paper discusses some of the recent developments in linear algebra designed to exploit these advanced-architecture computers. We discuss two broad classes of algorithms: those for dense, and those for sparse matrices.
ieee international conference on high performance computing data and analytics | 2007
Alfredo Buttari; Victor Eijkhout; Julien Langou; Salvatore Filippone
We present a method for automatically selecting optimal implementations of sparse matrix-vector operations. Our software “AcCELS” (Accelerated Compress-storage Elements for Linear Solvers) involves a setup phase that probes machine characteristics, and a run-time phase where stored characteristics are combined with a measure of the actual sparse matrix to find the optimal kernel implementation. We present a performance model that is shown to be accurate over a large range of matrices.
ACM Transactions on Mathematical Software | 2014
Kyungjoo Kim; Victor Eijkhout
We present a parallel sparse direct solver for multicore architectures based on Directed Acyclic Graph (DAG) scheduling. Recently, DAG scheduling has become popular in advanced Dense Linear Algebra libraries due to its efficient asynchronous parallel execution of tasks. However, its application to sparse matrix problems is more challenging as it has to deal with an enormous number of highly irregular tasks. This typically results in substantial scheduling overhead both in time and space, which causes overall parallel performance to be suboptimal. We describe a parallel solver based on two-level task parallelism: tasks are first generated from a parallel tree traversal on the assembly tree; next, those tasks are further refined by using algorithms-by-blocks to gain fine-grained parallelism. The resulting fine-grained tasks are asynchronously executed after their dependencies are analyzed. Our approach is distinct from others in that we adopt two-level task scheduling to mirror the two-level parallelism. As a result, we reduce scheduling overhead, and increase efficiency and flexibility. The proposed parallel sparse direct solver is evaluated for the particular problems arising from the hp-Finite Element Method where conventional sparse direct solvers do not scale well.
Computer Methods in Applied Mechanics and Engineering | 2010
Paolo Bientinesi; Victor Eijkhout; Kyungjoo Kim; Jason Kurtz; Robert A. van de Geijn
Abstract We present a novel strategy for sparse direct factorizations that is geared towards the matrices that arise from hp -adaptive Finite Element Methods. In that context, a sequence of linear systems derived by successive local refinement of the problem domain needs to be solved. Thus, there is an opportunity for a factorization strategy that proceeds by updating (and possibly downdating) the factorization. Our scheme consists of storing the matrix as unassembled element matrices, hierarchically ordered to mirror the refinement history of the domain. The factorization of such an ‘unassembled hyper-matrix’ proceeds in terms of element matrices, only assembling nodes when they need to be eliminated. The main benefits are efficiency from the fact that only updates to the factorization are made, high scalar efficiency since the factorization process uses dense matrices throughout, and a workflow that integrates naturally with the application.
international parallel and distributed processing symposium | 2003
Thomas Eidson; Jack J. Dongarra; Victor Eijkhout
The execution environments for scientific applications have evolved significantly over the years. Vector and parallel architectures have provided significantly faster computations. Cluster computers have reduced the cost of high-performance architectures. However, the software development environments have not keep pace. Object-oriented and component-based languages have not been widely adopted. Distributed computing on local area networks and Grids is only being used by a most number of applications. Clearly, there is a need for development environments that support the efficient creation of applications that use modern execution systems. This has been the goal of a continuing research effort over the last several years. The previous focus has been on using component-based ideas to develop a programming model and associated framework to support such a development approach. In this paper, two additional concepts are added to the base approach. Aspect-oriented concepts are applied to support the reduction of intertwined code related to different programming concerns; mixing I/O with a numerical computation is one example. Particularly in large applications, intertwining code can lead to applications that are difficult to modify and to manage. The second concept being added is the use of behavioral metadata. When coupling smaller pieces of code (or components) to make a larger composite application, one needs to determine the suitability of the internal behavior of component as well as the compatibility of its interfaces. The objective is to integrate some of this information into the component and design a framework assist the programmer in making these decisions.