Copyright 1998-2001, University of Notre Dame.
Authors: Jeffrey M. Squyres and Arun Rodrigues with Brian Barrett,
         Kinis L. Meyer, M. D. McNally, and Andrew Lumsdaine

This file is part of the Notre Dame LAM implementation of MPI.

You should have received a copy of the License Agreement for the Notre
Dame LAM implementation of MPI along with the software; see the file
LICENSE.  If not, contact Office of Research, University of Notre
Dame, Notre Dame, IN 46556.

Permission to modify the code and to distribute modified code is
granted, provided the text of this NOTICE is retained, a notice that
the code was modified is included with the above COPYRIGHT NOTICE and
with the COPYRIGHT NOTICE in the LICENSE file, and that the LICENSE
file is distributed with the modified code.

LICENSOR MAKES NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED.
By way of example, but not limitation, Licensor MAKES NO
REPRESENTATIONS OR WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY
PARTICULAR PURPOSE OR THAT THE USE OF THE LICENSED SOFTWARE COMPONENTS
OR DOCUMENTATION WILL NOT INFRINGE ANY PATENTS, COPYRIGHTS, TRADEMARKS
OR OTHER RIGHTS.

Additional copyrights may follow.


ring is a common example of an MPI program; it runs with any number of
processes, and sends a simple message sequentially through all the
processes, with the last process returning the message back to process
zero.  This message repeats the "ring" N times.

This example is taken directly from the MPI 2 C++ package
distribution; it is a simple C++ implementation of the standard "ring"
example program.  It uses the C++ MPI bindings to effect message
passing. 

Use "make" to compile this example.  Make will use mpiCC to compile
the program:

      mpiCC -o ring ring.cc
