gc00 / mana

MANA for MPI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

DMTCP is a tool to transparently checkpoint the state of multiple simultaneous applications, including multi-threaded and distributed applications. It operates directly on the user binary executable, without any Linux kernel modules or other kernel modifications.

** [If you are looking for MANA (suppot for MPI), please read below.] **

Among the applications supported by DMTCP are MPI (various implementations), OpenMP, MATLAB, Python, Perl, R, and many programming languages and shell scripting languages. DMTCP also supports GNU screen sessions, including vim/cscope and emacs. With the use of TightVNC, it can also checkpoint and restart X Window applications. The OpenGL library for 3D graphics is supported through a special plugin.

DMTCP supports the commonly used OFED API for InfiniBand, as well as its integration with various implementations of MPI, and resource managers (e.g., SLURM).

To install DMTCP, see INSTALL.md.

For an overview DMTCP, see QUICK-START.md.

For the license, see COPYING.

For more information on DMTCP, see: http://dmtcp.sourceforge.net.

For the latest version of DMTCP (both official release and git), see: http://dmtcp.sourceforge.net/downloads.html.


MANA (MPI-Agnostic, Network-Agnostic MPI)

MANA is an implementation of transparent checkpointing for MPI. It is built as a plugin on top of DMTCP.

We are currently concentrating on making MANA robust (especially on Cori and Perlmutter at NERSC). We plan to roll this ot to other platforms (CentOS 7 with MPICH, etc.), over time. If you have the technical expertise to help in this rollout, help is appreciated. Please see the INSTALL file, below, for further details. Note that MANA currently requires the ability to create a statically linked MPI executable (using libmpi.a). In a later phase, this restriction will be lifted.

** WARNING: ** MANA currently may have large runtime overhead or loss of accuracy on restart. This is still under development. Please test your application on MANA first, before using MANA.

For details of installing and using MANA, please see:

About

MANA for MPI

License:Other


Languages

Language:C++ 45.0%Language:C 31.1%Language:Makefile 7.9%Language:Shell 6.0%Language:TLA 4.6%Language:Python 1.9%Language:Perl 1.3%Language:TeX 0.7%Language:Roff 0.6%Language:M4 0.6%Language:Assembly 0.3%Language:Java 0.0%Language:Fortran 0.0%Language:Dockerfile 0.0%