/mpp

Advanced MPI bindings for C++

Primary LanguageC++

MPP: An MPI CPP Interface


What's MPP
==========

MPP is an advanced C++ interface for MPI. It is a lightweight interface
(header-only) which focuses on reducing the interface overhead. It supports
integration of user datatypes. 

MPP was developed as a proof-of-concept to show that an high level MPI interface
can be designed without renouncing to performance (which is key in High
Performance Computing). Experiments have shown that MPP has much lower overhead
than Boost.MPI (see paper below). 

MPP supports few MPI routines for now (point-to-point), but I am slowly
extending its functionalities. If you want to help, either with some coding or
ideas, you are welcome. 


Publications
============

@article{10.1109/PDP.2012.42,
  author = {Simone Pellegrini and Radu Prodan and Thomas Fahringer},
  title = {A Lightweight C++ Interface to MPI},
  journal = {Parallel, Distributed, and Network-Based Processing, 
             Euromicro Conference on},
  volume = {0},
  issn = {1066-6192},
  year = {2012},
  pages = {3-10},
  doi = {http://doi.ieeecomputersociety.org/10.1109/PDP.2012.42},
  publisher = {IEEE Computer Society},
  address = {Los Alamitos, CA, USA},
}


License
=======
                       MPP: Advanced C++ MPI Bindings 

                 Copyright (C) 2011-2012  Simone Pellegrini

This library is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the Free
Software Foundation; either version 2.1 of the License, or (at your option) any
later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along
with this library; if not, write to the Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA


Acknoledgments
==============

Special thanks to Roland Schulz (https://github.com/rolandschulz) for his
contributions.