From charlesreid1

No edit summary
Line 13: Line 13:
Download the hypre tarball and decompress it.  Put your configure wrapper into the <code>src/</code> directory of the decompressed Hypre tarball.  
Download the hypre tarball and decompress it.  Put your configure wrapper into the <code>src/</code> directory of the decompressed Hypre tarball.  


This configure line has been used to build Hypre 2.0.0, which is the latest stable release.  It has not been tested on beta releases.
===Mac Leopard (OS X 10.5)===


<syntaxhighlight lang="bash">
This configure line has been used to build hypre 2.0.0 with [[LAM MPI]] on Mac Leopard.
 
<source lang="bash">
#!/bin/sh
#!/bin/sh
#
#
Line 21: Line 23:
# make
# make
# make install
# make install
# make test


./configure \
./configure \
Line 26: Line 29:
     --with-MPI-lib-dirs=/path/to/mpi/lib \
     --with-MPI-lib-dirs=/path/to/mpi/lib \
     --with-MPI-libs="mpi lam pmpi util" \
     --with-MPI-libs="mpi lam pmpi util" \
     --prefix=/path/to/hypre \
     --prefix=/path/to/hypre/2.0.0 \
     \
     \
     F77=/usr/local/bin/gfortran \
     F77=/usr/local/bin/gfortran \
Line 32: Line 35:
     CFLAGS=-DMPIPP_H \
     CFLAGS=-DMPIPP_H \
     CXXFLAGS=-DMPIPP_H
     CXXFLAGS=-DMPIPP_H
</syntaxhighlight>
</source>


The <code>-DMPIPP_H</code> compiler flags are only required for [[LAM MPI]] and [[OpenMPI]]; they are not needed if you use any other MPI install (e.g. MPICH).
The <code>-DMPIPP_H</code> compiler flags are only required for [[LAM MPI]] and [[OpenMPI]]; they are not needed if you use any other MPI install (e.g. MPICH).
Also see [[Gfortran]].
=== Red Hat Linux ===
I was able to successfully install Hypre on a Red Hat Linux workstation with [[OpenMPI]] with the following configure line:
<source lang="bash">
#!/bin/sh
#
# run configure
# make
# make install
# make test
./configure \
--with-MPI \
--with-MPI-include=/path/to/openmpi/1.4.3/include \
--with-MPI-libs=mpi \
--with-MPI-lib-dirs=/path/to/openmpi/1.4.3/lib \
--prefix=/path/to/hypre/2.0.0 \
--with-blas-lib-dirs=/usr/lib \
--with-lapack-lib-dirs=/usr/lib \
--enable-shared \
\
CC="/usr/bin/gcc" \
CXX="/usr/bin/g++" \
\
CFLAGS="-DMPIPP_H" \
CXXFLAGS="-DMPIPP_H"
</source>


== Installation Errors ==
== Installation Errors ==

Revision as of 07:03, 24 May 2011

Hypre is a massively parallelizable linear solver library written and designed for use in C++. It provides many nice features and objects beyond simple "matrix" or "vector" objects - these include grids, meshes, and stencils. It was developed at Lawrence Livermore National Lab.

Installation

Installing Hypre can be tricky. The documentation will give much more in-depth details than this page. Links to the documentation are available at https://computation.llnl.gov/casc/hypre/software.html .

Dependencies

Hypre will require an installation of MPI on your machine. I use LAM MPI, but you can also use OpenMPI.

Configuration

Download the hypre tarball and decompress it. Put your configure wrapper into the src/ directory of the decompressed Hypre tarball.

Mac Leopard (OS X 10.5)

This configure line has been used to build hypre 2.0.0 with LAM MPI on Mac Leopard.

#!/bin/sh
#
# run configure
# make
# make install
# make test

./configure \
    --with-MPI-include=/path/to/mpi/include \
    --with-MPI-lib-dirs=/path/to/mpi/lib \
    --with-MPI-libs="mpi lam pmpi util" \
    --prefix=/path/to/hypre/2.0.0 \
    \
    F77=/usr/local/bin/gfortran \
    \
    CFLAGS=-DMPIPP_H \
    CXXFLAGS=-DMPIPP_H

The -DMPIPP_H compiler flags are only required for LAM MPI and OpenMPI; they are not needed if you use any other MPI install (e.g. MPICH).

Also see Gfortran.

Red Hat Linux

I was able to successfully install Hypre on a Red Hat Linux workstation with OpenMPI with the following configure line:

#!/bin/sh
#
# run configure
# make
# make install
# make test

./configure \
 --with-MPI \
 --with-MPI-include=/path/to/openmpi/1.4.3/include \
 --with-MPI-libs=mpi \
 --with-MPI-lib-dirs=/path/to/openmpi/1.4.3/lib \
 --prefix=/path/to/hypre/2.0.0 \
 --with-blas-lib-dirs=/usr/lib \
 --with-lapack-lib-dirs=/usr/lib \
 --enable-shared \
 \
 CC="/usr/bin/gcc" \
 CXX="/usr/bin/g++" \
 \
 CFLAGS="-DMPIPP_H" \
 CXXFLAGS="-DMPIPP_H"

Installation Errors

If you see an error like this:

/usr/bin/ld: /path/to/hypre/src/utilities/dlamch.o: 
relocation R_X86_64_32S against 'a local symbol' can not be used when making 
a shared object; recompile with -fPIC
/path/to/hypre/src/utilities/dlamch.o: 
could not read symbols: Bad value
collect2: ld returned 1 exit status


Then you need to edit /path/to/hypre/src/lapack/Makefile, and add an -fPIC flag, as shown below:

dlamch.o : dlamch.c ${LAPACK_HEADERS}
    ${CC} -c -fPIC dlamch.c

Examples

Stump.gif This examples section is a stub.

A team of expertly-trained librarian ninjas has been dispatched to research this topic, finish this examples section, and assassinate all eyewitnesses who contradict their account.

They should be done pretty soon.

Template:Stub

Category:Stubs


Resources

Hypre home page - http://acts.nersc.gov/hypre/