Message packing for MPI made easy
reinvent the wheel every time you write message-passing code?
is a message-passing library which transparently packs small messages
into fewer larger ones for more efficient transport by MPI. It
can be used by any MPI program. The underlying message size is
easily adjusted at runtime for best efficiency. Other features of
Autopack is written in C using MPI and should compile on any platform
with any implementation of MPI. Download is
- collective commands that proceed asynchronously
- automatic management of MPI send and receive requests
- management of message buffer memory
- determination of the number of anticipated incoming
messages from a set of arbitrary sends
- deterministic message delivery from multiple sources to aid in
program testing or debugging
We welcome questions, comments, requests for features, etc.
Autopack v1.4 (already tested but
currently being documented) features a set of MPI-like drop-in
functions for ease of upgrading existing code. These provide
message packing through calls that mimic the immediate-mode sends and
receives (i.e. MPI_Isend(), MPI_Irecv()), as well as support for the
test/wait functions. In many codes, only a few lines
need to be changed to make use of Autopack.
Announcements of new releases, bug
fixes, etc. will be posted to the
mailing list, autopack-announce
Subscribe by sending e-mail to email@example.com
message body "subscribe autopack-announce".
An overview presentation of Autopack v1.4 : (pdf)
J. Flaherty, R. Loy, et al. Load
Balancing and Communication Optimization for Parallel Adaptive Finite
, Proc. XVII Int. Conf. Chilean Comp. Sci.
Soc., pp. 246--255, 1997.
This software project began under support from the Math and Computer Science Division of
National Laboratory and the ASC / Alliances Center for
Astrophysical Thermonuclear Flashes. Current development is supported by the
Climate Change Research Program through the DOE Scientific Discovery through
Advanced (SciDAC) Computing program.
Last update: 16 June 2005