A PVM task has a parent task, whose task ID is returned by the pvm_parent() call. Since MPI tasks are not spawned by other MPI tasks, this concept of a parent task does not exist in MPI. Hence you must remove all instances of pvm_parent() and handle their logical consequences in the program. For instance, one of the most common reasons for finding out the parent's task ID is to send computation-result messages back to it; this functionality can be easily replicated in an MPI program (or even a PVM program) by a task declaring itself to be the logical parent to whom all the computation-result messages should be sent.