|
Introduction
Hypre is a library for solving large, sparse linear
systems of equations on massively parallel computers. The main features
of this library are:
- Scalable preconditioners. Hypre
contains several families of preconditioned
algorithms focused on the scalable solution of very large sparse linear
systems. These algorithms include structured multigrid and
element-based algebraic multigrid
- Implementation of a suit of common
iterative methods.
Hypre provides commonly used Krylov-based
iterative methods to be used with its
scalable preconditioners. These include Conjugate Gradient and GMRES
for symmetric and unsymmetric matrices, respectively.
- Intuitive grid-centric interfaces.
Hypre provides data structures to represent and manipulate sparse
matrices through
interfaces. Each interface provides access to several solvers without
the
need to write new interface codes. These interfaces include
stencil-based
structured/semi-structured interfaces, finite-element based
unstructured interface, and a linear algebra based interface.
- Configuration Options. Hypre
can be installed in several
computer platforms by simply setting a set of installation parameters.
These parameters or options include compilers, optimization modes, and
versions of MPI
and BLAS
routines particular to the users' computational
environment. In most cases, users only need to type a configure
command followed by a make
command.
- Dynamic configuration of parameters.
Hypre works for users with different levels of expertise. More
experience users can
take further control of the solution process through various tunning
parameters.
- User defined interfaces for multiple
languages. Hypre currently supports Fortran and C languages.
Users
The problems of interest arise in the simulation codes
being
developed at the United States Department of Energy's Lawrence
Livermore
National Laboratory (LLNL), and also elsewhere, to study physical
phenomena in the defense, environmental, energy, and biological
sciences.
Hypre supports four conceptual interfaces. The first
one is a structured grid interface called struct
and it aims applications with logically
rectangular grids. The second kind is a semi-structured grid interface
named sstruct that targets applications with grids
that are mostly structured, but with some unstructured features (e.g.,
AMR, block-structured,
overset). The third kind is a unstructured grid interface designed for
Finite Element applications called FEI. The last
type is a Linear-Algebraic Interface for applications with sparse
linear systems of equations
IJ.
The images in the left panel come from applications that
use Hypre (click on the icon to display the full
image in a new window).
Documentation
Developers
Hypre was developed at the
Center
for Applied Scientific Computing (CASC) at
Lawrence Livermore
National Laboratory.
Its principal developers were Robert Falgout, Andy Cleary, Jim Jones,
Edmond Chow, Van Henson, Chuck Baldwin, Peter Brown, Panayot
Vassilevski
and Ulrike Meier Yang.
|