Message packing for MPI made easy

Why reinvent the wheel every time you write message-passing code?

Autopack 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 include:
Autopack is written in C using MPI and should compile on any platform with any implementation of MPI.  Download is available below.

We welcome questions, comments, requests for features, etc.

Coming Soon

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.


Download the current version here:  Autopack v1.3.2 (includes User Manual)

Get the Autopack User Manual separately here:  (pdf)   (ps)

Mailing list

Announcements of new releases, bug fixes, etc. will be posted to the mailing list, autopack-announce.
Subscribe by sending e-mail to with the message body "subscribe autopack-announce".

More info

Under construction...

An overview presentation of Autopack v1.4 :  (pdf)

J. Flaherty, R. Loy, et al.  Load Balancing and Communication Optimization for Parallel Adaptive Finite Element Computation, 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 Argonne 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