
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
elementbased algebraic multigrid
 Implementation of a suit of common iterative methods.
Hypre provides commonly used Krylovbased
iterative methods to be used with its scalable preconditioners.
These include Conjugate Gradient and GMRES or symmetric and unsymmetric matrices, respectively.
 Intuitive gridcentric 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
stencilbased structured/semistructured interfaces, finiteelement 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 experienced 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.
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 semistructured grid interface
named sstruct that targets applications with grids
that are mostly structured, but with some unstructured features (e.g.,
AMR, blockstructured, overset). The third kind is a unstructured grid interface
designed for Finite Element applications called FEI. The last
type is a LinearAlgebraic 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
Coding Examples
Example program  Description 
ex1.c  Simple Struct example 
ex2.c  Simple two processor Struct example 
ex3.c  Struct solver for the 5pt discretization of the 2D Laplace equation 
ex4.c  several Struct solvers for a variable coefficient 2D ConvectionReactionDiffusion equation 
ex5.c  unstructured solvers for the 5pt discretization of the 2D Laplace equation 
ex5f.f  Fortran version. unstructured solvers for the 5pt discretization of the 2D Laplace equation 
ex6.c  a simple two processor SStruct example 
ex7.c  several SStruct solvers for a variable coefficient 2D ConvectionReactionDiffusion equation 
ex8.c  two processor SStruct example with multiple parts 
ex9.c  a SStruct example for the biharmonic problem treated as a system of equations 
ex10.cxx  FEI example with bilinear finite elements for the 2D Laplace equation 
Developer Information
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.
