Skip to content

NESII/mpi-serial

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

93 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

mpi-serial

   Version 2.0
   Ray Loy ([email protected])
   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
      mpi_get_processor_name
      mpi_get_library_version
      mpi_wtime

    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_range_incl
      mpi_group_union
      mpi_group_intersection
      mpi_group_difference
      mpi_group_translate_ranks
      mpi_group_free
      mpi_cart_create
      mpi_cart_coords
      mpi_dims_create

    send/receive ops
      mpi_irecv
      mpi_recv
      mpi_test
      mpi_testany
      mpi_testall
      mpi_testsome
      mpi_wait
      mpi_waitany
      mpi_waitall
      mpi_waitsome
      mpi_isend
      mpi_send
      mpi_ssend
      mpi_rsend
      mpi_irsend
      mpi_sendrecv
      mpi_iprobe
      mpi_probe
      mpi_request_free

    collective operations
      mpi_barrier
      mpi_bcast
      mpi_gather
      mpi_gatherv
      mpi_allgather
      mpi_scatter
      mpi_scatterv
      mpi_reduce
      mpi_allreduce
      mpi_reduce_scatter
      mpi_scan
      mpi_alltoall
      mpi_alltoallv
      mpi_alltoallw
      mpi_op_create
      mpi_op_free

    data types and info objects
      mpi_get_count
      mpi_get_elements
      mpi_pack
      mpi_pack_size
      mpi_unpack
      mpi_info_create
      mpi_info_set
      mpi_info_free

-----
EOF

About

A one-processor version of MPI

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 79.7%
  • Fortran 17.7%
  • Makefile 1.2%
  • Other 1.4%