         NAME
              pnet_setup - Initialize communication pattern

         SYNOPSIS
              #include <mpi.h>
              #include "pnet.h"

              int pnet_setup(Pnet *pnet);

         DESCRIPTION
              Function initializes communication pattern necessary for the
              distributed network. This is the core function of the Pnet
              library. Pnet has to be initialized by pnet_init and
              connections have to be added by calls of pnet_addconnect
              before pnet_setup can be called. Data have to be exchanged
              by invoking the pnet_exchg macro. After calling this
              function connections must not be added.  The argument of
              pnet_setup is:

              pnet Pointer to initialized Pnet struct

         RETURN VALUE
              Upon successful completion PNET_OK is returned.

         ERRORS
              PNET_ALLOC_ERR
                   Cannot allocate memory.

         AUTHOR
              Werner von Bloh (bloh@pik-potsdam.de)

         SEE ALSO
              pnet_exchg(3), pnet_init(3), pnet_addconnect(3),
              pnet_free(3),  pnet_lo(3), pnet_hi(3), pnet_nodes(3)