M

maphys

The Massively Parallel Hybrid Solver (Maphys) aims at solving large sparse linear systems using hybrid direct/iterative methods.

MaPHyS

1 MaPHyS

Massively Parallel Hybrid Solver

MaPHyS (Massively Parallel Hybrid Solver) is a software package whose prototype was initially developed in the framework of the PhD thesis of Azzam Haidar (CERFACS) and further consolidated thanks to the ANR-CIS Solstice funding. This parallel linear solver couples direct and iterative approaches. The underlying idea is to apply to general unstructured linear systems domain decomposition ideas developed for the solution of linear systems arising from PDEs. The interface problem, associated with the so called Schur complement system, is solved using a block preconditioner with overlap between the blocks that is referred to as Algebraic Additive Schwarz. To cope with the possible lack of coarse grid mechanism that enables one to keep constant the number of iterations when the number of blocks is increased, the solver exploits two levels of parallelism (between the blocks and within the treatment of the blocks). This enables us to exploit a large number of processors with a moderate number of blocks which ensures a reasonable convergence behaviour. The current prototype code will be further consolidated to end-up with a high performance software package to be made freely available to the scientific community.

(extracted from HiePaCS’ Proposal, a joint Project-Team with University of Bordeaux and CNRS (LaBRI UMR 5800) and Research Action between INRIA and CERFACS)

2 Installation

MaPHyS has many dependencies. We strongly recommand to use our version of SPACK to install MaPHyS and its dependencies easily: here.

If you want to install MaPHyS on a cluster, you should take a look at this page.

3 Maphys versions and documentations

Warning: installation of MaPHyS from the tarball is possible but not recommended.

Version Tarball Documentation
0.9.5.0 Tarball Documentation-0.9.5
0.9.4.2 (recommended) Tarball Documentation-0.9.4
0.9.4.1 Tarball Documentation-0.9.4
0.9.4.0 Tarball Documentation-0.9.4
0.9.3 Tarball Documentation-0.9.3

4 Links

5 Git Flow model

http://nvie.com/posts/a-successful-git-branching-model/

6 README

6.1 MAPHYS - Massively Parallel Hybrid Solver

This is MAPHYS, the Massively Parallel Hybrid Solver, a High performance solver for large linear algebra problems coupling direct and iterative approaches.

6.2 REQUIREMENTS

  • MPI-1 (as parallel library)
  • BLAS/LAPACK/SCALAPACK/BLACS (as basic scientific libraries)

at least:

at least one of them :

and optionally :

Moreover for convenience, some sets of functions are shipped directly within this package. As far as we understood, this doesn’t violate their License.

If you think this is an issue, please contact one of us :

6.3 INSTALL

We recommand to use our version of spack to install MaPHyS. See http://morse.gforge.inria.fr/spack/spack.html

Otherwise, compilation is done using CMAKE. You need to have all the above requirements loaded in your environment.

6.3.1 to compile and install

mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/where/to/install ..
make
make install
# (optional: put the name of the build directory in the Makefile)

6.3.2 to cleanup

rm -rf ./build # Remove cmake build directory

6.3.3 to run the tests

(cd build && make test)

6.3.4 to use pkg-config to link MaPHyS

export PKG_CONFIG_PATH=/maphys/install_dir/lib/pkgconfig:$PKG_CONFIG_PATH

#Then you can use:
  
pkg-config --cflags maphys
pkg-config --libs maphys