This directory contains a variety of different test codes 
of different types. This directory and many of the files in
it are still undergoing active development and change. Please
forgive (and report) any problems you have with these programs.

These tests may be used with any MPI implementation.  In a few cases, 
differences in error messages may be reported; these are not errors, of
course.  However, the accuracy and detail of the messages should be evaluated.

To build and run the tests, execute configure followed by make testing.  
The options to configure for some MPI implementations follow:

SGI:
      ./configure -cc=cc -fc=f77
IBM:
      ./configure -cc=mpcc -fc=mpxlf 
      (You also need a script called "mpirun" that takes a -np number-of-procs
      argument, since there are so many different ways to run parallel 
      programs on IBM systems)
MPICH:
      ./configure -mpichpath=<path to MPICH build bin directory>

The directories are as follows:

pt2pt	-	Test cases that generally cover various point to point
		routines, such as send, isend, probe, etc... The
 		README in this directory contains some additional 
  		useful information about running the tests. The tests
		in this directory are most complete.


coll	-	Test programs for various collective operations

context -       Test programs for context operations

env     -       Test programs for the environment routines

profile -       Test program(s) for MPI_Pcontrol

topol   -       Test programs for the topology routines

lederman-	A series of tests of various types written by Steve
		Lederman


Other directories and additional tests will be added in the future.

To run the test, but not leave the executables around, do (in this directory)

  make TESTARGS=-small testing >& testing.out

If your MPI requires a boot step before running programs, use the target
testing-boot instead of testint:

  make TESTARGS=-small testing-boot >& testing.out

This will boot any MPI startup demons, and it will stop them at the end of the 
test.

If you are NOT using the MPICH implementation, then you can run the configure
script in this directory.  If you need to view the configure options, then type
       configure -help
and a list of configure options will be provided.

You will probably also have to provide an "mpirun" program or script.
This has roughly the form

     mpirun -mvhome -np n -mvback "string" programname programargs

The options -mvhome and -mvback "string" can be ignored; they are needed only
on systems that do not share file systems with the system running the runtests
script (yes, there is one such system).  The option "-np n" specifies that
"n" processes are needed.  Note that this is not always a power of 2; systems
must be prepared to accept any (small) value of n.

