MPI API:

mpi.abort		Abort (quit) all tasks associated with a comm
mpi.allgather		Gather data from each process to all process
mpi.allgatherv		Gather diff size data from each process to all process
mpi.allreduce		Reduce all process's vectors into one vector
mpi.barrier		Block the caller until all group have called it
mpi.bcast		Broadcast a vector (int,double,char) to every process 
mpi.comm.disconnect	Disconeect and free a comm
mpi.comm.dup		Duplicate a comm to a new comm
mpi.comm.free		Free a comm
mpi.comm.get.parent	Get the parent intercomm
mpi.comm.rank		Find the rank (process id) of master and slaves
mpi.comm.remote.size	Find the size of a remote group from an intercomm
mpi.comm.size		Find the size (total # of master and slaves)
mpi.comm.set.errhandler	Set comm to error return (no crash)
mpi.comm.spawn		Spawn slaves
mpi.comm.test.inter	Test if a comm is an intercomm
mpi.finalize		Exit MPI environment (call MPI_Finalize())
mpi.gather		Gather data from each process to a root process
mpi.gatherv		Gather diff data from each process to a root process
mpi.get.count		Get the length of a message for given status and type
mpi.get.processor.name	Get the process (host) name 
mpi.info.create		Create an info object
mpi.info.free		Free an info object
mpi.info.get		Get the value from an info object and a key
mpi.info.set		Set a key/value pair of an info object
mpi.intercomm.merge	Merge a intercomm to a comm 
mpi.probe		Use a source and a tag to set status
mpi.recv		Receive a vector from a specific process
mpi.reduce		Reduce all processes's vectors into one (one process)
mpi.scatter		Opposite of mpi.gather
mpi.scatterv		Opposite of mpi.gatherv (diff size data)
mpi.send		Send a vector to a specific process
mpi.universe.size	Total number of CPUs available
******************************************************************************
MPI Extensions in R Environment:

lamhosts		Hosts id and machine host name mapping 
mpi.any.source		A constant for receiving a message from any source
mpi.any.tag		A constant for receiving a message from any tag
mpi.bcast.Robj		Broadcast an R object to every process
mpi.exit		Call MPI_Finalize and detach Rmpi library
mpi.get.sourcetag	Get the source and tag for a given status
mpi.hostinfo		Get the host information that the process is running
mpi.init.sprng		MPI wrapper to initialize SPRNG
mpi.is.master		TRUE if it is a master otherwise FALSE (slave)
mpi.proc.null		Dummy source and destination
mpi.quit		Call MPI_Finalize and quit R
mpi.recv.Robj		Receive an R object from a process (by mpi.send.Robj)	
mpi.realloc.comm	Increase array of comm to a new size
mpi.send.Robj		Send an R object to a specific process
mpi.spawn.Rslaves	Spawn R slaves. The default R script is slavedaemon.R
*****************************************************************************
MPI Extensions specifically to slavedaemon.R Script (interactive R slaves). 

mpi.bcast.Robj2slave	Master sends an Robj to all slaves
mpi.bcast.cmd		Broadcast a commond to every process
mpi.close.Rslaves	Close all slaves launched by mpi.spawn.Rslaves()
mpi.parallel.sim	Parallel Monto Carlo simulation
mpi.remote.exec		Run a command remotely on slaves and return 
			results back to the master 
slave.hostinfo		Show all slave rank, comm, host information
tailslave.log		Tail (view) last lines of slave log files
*****************************************************************************
Internal Functions used by Other MPI Functions

bin.nchar		Find the length of a binary string
getpid			Master process id, used for setting slave log files
mpi.comm.is.null	Test if a comm is NULL (no members)
mpi.parallel.slave	Counter part of mpi.parallel.sim (used by slaves)
mpi.remote.fun		Used by mpi.remote.exec for local variables passing
mpi.remote.slave	Counter part of mpi.remote.exec (used by slaves)
mpi.wrap.fun		Used by mpi.parallel.sim to create a wrap function.
string			Create a string (empty space character) buffer
typeindex		Identify an R object to type 1, 2, 3, or others

