


bsp_send(3)             BSPlib FUNCTIONS              bsp_send(3)



NAME
     bsp_send - transmit a BSMP packet to a remote process.


C SYNOPSIS
     #include "bsp.h"

     void bsp_send(int _p_i_d,const void *_t_a_g,
                   const void * _p_a_y_l_o_a_d,int _p_a_y_l_o_a_d__b_y_t_e_s);

FORTRAN SYNOPSIS
     SUBROUTINE  bspsend(_p_i_d,_t_a_g,_p_a_y_l_o_a_d,_p_a_y_l_o_a_d__b_y_t_e_s)
        INTEGER, intent(IN) :: _p_i_d
        <TYPE>,  intent(IN) :: _t_a_g
        <TYPE>,  intent(IN) :: _p_a_y_l_o_a_d
        INTEGER, intent(IN) :: _p_a_y_l_o_a_d__b_y_t_e_s


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 _t_a_g and _p_a_y_l_o_a_d variables can there-
     fore  be  changed  by  the  user   immediately   after   the
     bsp_send(3).    Messages   sent   by   bsp_send(3)  are  _n_o_t
     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 _p_i_d.


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

     ``_B_S_P_l_i_b: _T_h_e _B_S_P _P_r_o_g_r_a_m_m_i_n_g _L_i_b_r_a_r_y'' 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
     _h_t_t_p://_w_w_w._b_s_p-_w_o_r_l_d_w_i_d_e._o_r_g 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) _i_s_s_u_e_d _i_n _t_h_e _p_r_e_v_i_o_u_s _s_u_p_e_r_s_t_e_p.


     ii   If the payload size is zero, then a message  that  only



Oxford BSP Toolset  Last change: 1.4 25/9/98                    1






bsp_send(3)             BSPlib FUNCTIONS              bsp_send(3)



          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
          _w_i_l_l _b_e _s_e_n_t.


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


BUGS
     Problems  and  bug  reports  should  be  mailed  to  _b_s_p_l_i_b-
     _b_u_g_s@_c_o_m_l_a_b._o_x._a_c._u_k


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


































Oxford BSP Toolset  Last change: 1.4 25/9/98                    2



