Next | Prev | Up | Top | Contents | Index

Comparable Routines

Table B-1 lists all the PVM routines (showing both C and Fortran names) and the corresponding MPI routines. As can be seen, most PVM routines have direct MPI counterparts. Of the remaining routines, many can simply be removed owing to changes in initial environment setup between PVM and MPI. These are marked by an asterisk (*) in the MPI column, and also include utility routines and routines that can be easily implemented at the application level (for example, pvm_mcast() and pvm_trecv()).

Routines that have a conceptual counterpart in MPI but which are not directly translatable to a single MPI call are listed with a phrase such as "communicators." Finally, nonportable routines are noted in the MPI column. Most of these nonportable PVM routines do not have a Fortran counterpart, which is also noted in the PVM column.

Note that this table does not exhaustively cover all aspects of PVM routines. For instance, it does not mention the various options of PVM calls. Also, there are some PVM routines that do have MPI counterparts, but are needed in only special cases, such as pvm_initsend() and MPI_Send_init(). Some routines, such as pvm_bufinfo() and MPI_Get_count(), have more than one corresponding call in MPI; only one is listed in the table.

Corresponding PVM and MPI Routines
PVM Routine (C/Fortran)MPI Routine (C/Fortran)
pvm_addhosts/pvmfaddhost*
pvm_barrier/pvmfbarrierMPI_Barrier/MPI_BARRIER
pvm_bcast/pvmfbcastMPI_Bcast/MPI_BCAST
pvm_bufinfo/pvmfbufinfoMPI_Get_count/MPI_GET_COUNT
pvm_catchout/pvmfcatchout*
pvm_config/pvmfconfig*
pvm_delhosts/pvmfdelhost*
pvm_exit/pvmfexitMPI_Finalize/MPI_FINALIZE
pvm_freebuf/pvmffreebufMPI_Buffer_detach/MPI_BUFFER_DETACH
pvm_gather/pvmfgatherMPI_Gather/MPI_GATHER
pvm_getinst/pvmfgetinstMPI_Group_rank/MPI_GROUP_RANK
pvm_getopt/pvmfgetopt*
pvm_getrbuf/pvmfgetrbufCommunicators
pvm_getsbuf/pvmfgetsbufCommunicators
pvm_gettid/pvmfgettid*
pvm_gsize/pvmfgsizeMPI_Group_size/MPI_GROUP_SIZE
pvm_halt/pvmfhalt*
pvm_hostsync/pvmfhostsyncMPI_Wtime/MPI_WTIME
pvm_initsend/pvmfinitsendMPI_Send_init/MPI_SEND_INIT
pvm_joingrup/pvmfjoingroupMPI_Comm_group/MPI_COMM_GROUP
pvm_kill/pvmfkillPVM routine is nonportable
pvm_lvgroup/pvmflvgroupMPI_Group_free/MPI_GROUP_FREE
pvm_mcast/pvmfmcast*
pvm_mkbuf/pvmfmkbufMPI_Buffer_attach/MPI_BUFFER_ATTACH
pvm_mstat/pvmfmstat*
pvm_mytid/pvmfmytidMPI_Init/MPI_INIT followed by MPI_Comm_rank/MPI_COMM_RANK
pvm_notify/pvmfnotifyPVM routine is nonportable
pvm_nrecv/pvmfnrecvMPI_Irecv/MPI_IRECV
pvm_pk*/pvmfpackMPI_Pack/MPI_PACK
pvm_parent/pvmfparent*
pvm_perror/pvmfperrorMPI_Error_string/MPI_ERROR_STRING
pvm_precv/pvmfprecvMPI_Recv/MPI_RECV
pvm_probe/pvmfprobeMPI_Iprobe/MPI_IPROBE
pvm_psend/pvmfpsendMPI_Bsend/MPI_BSEND
pvm_pstat/pvmfpstat*
pvm_recv/pvmfrecvMPI_Recv/MPI_RECV
pvm_recvf/no Fortran counterpartPVM routine is nonportable
pvm_reduce/pvmfreduceMPI_Reduce/MPI_REDUCE
pvm_reg_hoster/no Fortran counterpartPVM routine is nonportable
pvm_reg_rm/no Fortran counterpartPVM routine is nonportable
pvm_reg_tasker/no Fortran counterpartPVM routine is nonportable
pvm_scatter/pvmfscatterMPI_Scatter/MPI_SCATTER
pvm_send/pvmfsendMPI_Send/MPI_SEND
pvm_sendsig/pvmfsendsigPVM routine is nonportable
pvm_setopt/pvmfsetopt*
pvm_setrbuf/pvmfsetrbufCommunicators
pvm_setsbuf/pvmfsetsbufCommunicators
pvm_spawn/pvmfspawn*
pvm_tasks/pvmftasks*
pvm_tidtohost/pvmftidtohost*
pvm_trecv/pvmftrecv*
pvm_upk*/pvmfunpackMPI_Unpack/MPI_UNPACK


Next | Prev | Up | Top | Contents | Index