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
To install Parallel::MPI, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Parallel::MPI
CPAN shell
perl -MCPAN -e shell install Parallel::MPI
For more information on module installation, please visit the detailed CPAN module installation guide.