Many PVM applications already use the SPMD style, or they are written in the "one master, multiple (but identical) workers" style. In the first case, a slight conversion in initialisation is needed, see PANPVM. In the second case, both programs must be merged into one; a new top-level main routine must be provided which calls either the master (if the process number is 0) or the slave as a subroutine. In both cases, the original spawning code must be left out.
PANPVM is supported both for Fortran and for C. A script panpvmc is provided, which automatically provides the correct include directives and run-time libraries. We strongly recommend to use panpvmc for all development work with PANPVM. The compile script supports the full range of architectural options known to the Panda compile script panc. The options -O, -O1, -O2, ... are treated specially. When one of these options is specified, optimized versions of PVM and Panda libraries are linked into the program. When no -O* option is specified, debugging libraries (with symbol table support, assertions etc) are linked into the program.
PVM info can be found on the PVM home page. Beware of routines documented there that are not supported in PANPVM!