
Parallel::MPI - Perl interface to the MPI message passing system

use Parallel::MPI; MPI_Init(); . . . MPI_Finalize();

The following is a summary of the available constants and functions:

If an MPI error occurs, set: $Parallel::MPI::errno $Parallel::MPI::errstr
$Parallel::MPI::exceptions: if set, toss an exception when an error occurs.

Datatypes (not all are supported!) MPI_2COMPLEX MPI_2DOUBLE_COMPLEX MPI_2DOUBLE_PRECISION MPI_2INT MPI_2INTEGER MPI_2REAL MPI_COMPLEX MPI_DATATYPE_NULL MPI_DOUBLE MPI_DOUBLE_COMPLEX MPI_DOUBLE_INT MPI_DOUBLE_PRECISION MPI_FLOAT MPI_FLOAT_INT MPI_INT MPI_INTEGER MPI_BYTE MPI_CHAR MPI_CHARACTER MPI_LOGICAL MPI_LONG MPI_LONG_DOUBLE MPI_LONG_DOUBLE_INT MPI_LONG_INT MPI_LONG_LONG_INT MPI_REAL MPI_SHORT MPI_SHORT_INT MPI_UNSIGNED MPI_UNSIGNED_CHAR MPI_UNSIGNED_LONG MPI_UNSIGNED_SHORT New Datatypes MPI_STRING Status MPI_ANY_SOURCE MPI_ANY_TAG Operations MPI_BAND MPI_BOR MPI_BXOR MPI_LAND MPI_LOR MPI_LXOR MPI_MAX MPI_MAXLOC MPI_MIN MPI_MINLOC MPI_OP_NULL MPI_PROD MPI_SUM Communicators MPI_COMM_NULL MPI_COMM_SELF MPI_COMM_WORLD Communicator and Group Comparisons MPI_CONGRUENT MPI_IDENT MPI_SIMILAR MPI_UNEQUAL MPI_VERSION

MPI_Init() MPI_Finalize() MPI_Initialized() MPI_Comm_rank(communicator) MPI_Comm_size(communicator) MPI_Send(\$message, length, datatype, destination, tag, communicator) MPI_Recv(\$message, length, datatype, source, tag, communicator) MPI_Sendrecv(\$message, length, datatype, destination, tag, communicator) MPI_Barrier(comm) MPI_Bcast(\$from, count, datatype, root, communicator) MPI_Wtime() MPI_Wtick() MPI_Abort(communicator, errorcode) MPI_Reduce(\$from, \$to, count, datatype, operation, root, communicator) MPI_Allreduce(\$from, \$to, count, datatype, operation, communicator) MPI_Scatter(\$from, count, type, \$to, count, type, root, communicator) MPI_Gather(\$from, count, type, \$to, count, type, root, communicator)

Josh Wilmes and Chris Stevens

MPI man pages. The paper, "Parallel::MPI - An MPI Binding for Perl", included in the Parallel::MPI distribution