NAME

     bsp_send - transmit a BSMP packet to a remote process.



C SYNOPSIS

     #include "bsp.h"

     void bsp_send(int pid,const void *tag,
                   const void * payload,int payload_bytes);


FORTRAN SYNOPSIS

     SUBROUTINE  bspsend(pid,tag,payload,payload_bytes)
        INTEGER, intent(IN) :: pid
        <TYPE>,  intent(IN) :: tag
        <TYPE>,  intent(IN) :: payload
        INTEGER, intent(IN) :: payload_bytes



DESCRIPTION

     The bsp_send(3) operation is used to  send  a  message  that
     consists  of  a tag and a payload to a specified destination
     process.  The destination process will be able to access the
     message  during  the  subsequent  superstep. The bsp_send(3)
     operation copies both the tag and the payload of the message
     before  returning.  The tag and payload variables can there-
     fore  be  changed  by  the  user   immediately   after   the
     bsp_send(3).    Messages   sent   by   bsp_send(3)  are  not
     guaranteed to be received in any  particular  order  by  the
     destination  process.   This is the case even for successive
     calls of bsp_send(3) from one process with  the  same  value
     for pid.



SEE ALSO

     bsmp(3), bsp_set_tagsize(3),  bsp_qsize(3),  bsp_get_tag(3),
     bsp_move(3)

     ``BSPlib: The BSP Programming Library'' Jonathan M. D. Hill,
     Bill  McColl,  Dan  C.  Stefanescu,  Mark W. Goudreau, Kevin
     Lang, Satish B. Rao, , Torsten Suel, Thanasis Tsantilas, and
     Rob  Bisseling.  Parallel  Computing,  to  appear  1998. See
     http://www.bsp-worldwide.org for more details.



NOTES

     i    The size of the tag used  in  bsp_send(3)  will  depend
          upon either the size of tag that was active in the pre-
          vious superstep, or the  size  specified  by  the  last
          bsp_set_tagsize(3) issued in the previous superstep.


     ii   If the payload size is zero, then a message  that  only
          contains  the  tag  will be sent. Similarly, if the tag
          size is zero, then a message just containing  the  pay-
          load  will  be  sent.  If  both the tag and payload are
          zero, a message that contains neither tag  nor  payload
          will be sent.


     iii  If the tag size is zero, then the tag argument  may  be
          NULL.  Similarly, if the payload size is zero, then the
          payload argument may be NULL.



BUGS

     Problems  and  bug  reports  should  be  mailed  to  bsplib-
     bugs@comlab.ox.ac.uk



AUTHORS

     The Oxford BSP Toolset implementation of BSPlib was  written
     by Jonathan.Hill@comlab.ox.ac.uk
     http://www.comlab.ox.ac.uk/oucl/people/jonathan.hill.html
































Man(1) output converted with man2html