
######################################################################

mpi-serial

   Version 2.0
   Ray Loy (rloy@alcf.anl.gov)
   John Yackovich

######################################################################


This library provides a one-processor version of MPI.  Most common MPI
calls, including all that are necessary for MCT, are supported.  This
includes sends and receives (which cannot be simply stubbed out).  See
below for a complete list.

Version 2.0 adds support for user-defined MPI types and MPI_STATUS_IGNORE.


---------------
Quick Start
---------------
./configure
make
make tests


---------------
Configuration
---------------

There is now a dedicated configure for mpi-serial.

By default, it is assumed that Fortran programs linked with mpi-serial
(e.g. MCT) will be using REAL variables of size 4 bytes, and DOUBLE
PRECISION variables of size 8 bytes.  If this is not the case
(e.g. due to hardware sizes or Fortran compiler options), you must
specify an option to the mpi-serial configure, e.g.:

 ./configure --enable-fort-real=16 --enable-fort-double=32



--------------------------------
Manual make targets
--------------------------------

'make'  - compile the mpi-serial library

'make examples'  - compile mpi-serial and its example programs

'make clean'  - get rid of all objects and executables



----------------------------------
List of MPI calls supported
----------------------------------

    general ops
      mpi_init
      mpi_finalize
      mpi_abort
      mpi_error_string
      mpi_initialized

    comm and group ops
      mpi_comm_free
      mpi_comm_size
      mpi_comm_rank
      mpi_comm_dup
      mpi_comm_create
      mpi_comm_split
      mpi_comm_group
      mpi_group_incl
      mpi_group_free

    send/receive ops
      mpi_irecv
      mpi_recv
      mpi_test
      mpi_wait
      mpi_waitany
      mpi_waitall
      mpi_isend
      mpi_send

    collective operations
      mpi_barrier
      mpi_bcast
      mpi_gather
      mpi_gatherv
      mpi_allgather
      mpi_scatterv
      mpi_reduce
      mpi_allreduce



-----
EOF
