The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

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

SYNOPSIS

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

DESCRIPTION

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

Error Handling

If an MPI error occurs, set: $Parallel::MPI::errno $Parallel::MPI::errstr

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

Exported constants

   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  

Exported functions

   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)

AUTHORS

Josh Wilmes and Chris Stevens

SEE ALSO

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