PVM Version 3 is designed so that message passing calls of a specific system can be compiled into the source. This allows the fast, native, message-passing for a particular system to be realized by the PVM application. Messages between two nodes of a multiprocessor use its native message-passing routines, while messages destined for an external host are routed via the user's PVM daemon on the multiprocessor. The MPP subsystem of PVM consists of a daemon that manages the allocation and deallocation of nodes on the multiprocessor. This daemon is implemented in terms of PVM 3 core routines. The second part of the MPP port is a specialized libpvm library for this architecture that contains the fast routing calls between nodes of this host. On shared-memory systems the data movement can be implemented with a shared buffer pool and lock primitives.