pvm_psend man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

PSEND(3PVM)			PVM Version 3.4			   PSEND(3PVM)

NAME
       pvm_psend - Pack and send data in one call.

SYNOPSIS
       C    int info = pvm_psend( int tid, int msgtag, char *buf,
				  int len, int datatype )

       Fortran	 call pvmfpsend( tid, msgtag, buf, len, datatype,
			       info )

PARAMETERS
       tid     Integer task identifier of destination process.

       msgtag  Integer	message tag supplied by the user.  msgtag should be >=
	       0.

       buf     Pointer to a buffer to send.

       len     Length of buffer (in multiple of data type size).

       datatype
	       Type of data to which buf points (see below).

       info    Integer status code returned by the routine.

DESCRIPTION
       The routine pvm_psend takes a pointer to a buffer buf  its  length  len
       and its data type datatype and sends this data directly to the PVM task
       identified by tid.  msgtag is used to label the content of the message.
       If  pvm_psend  is successful, info will be 0. If some error occurs then
       info will be < 0.

       pvm_psend data can be received by pvm_precv,  pvm_recv,	pvm_trecv,  or
       pvm_nrecv.

       The pvm_psend routine is asynchronous.  Computation on the sending pro‐
       cessor resumes as soon as the buffer is safe for	 reuse.	  This	is  in
       contrast	 to synchronous communication, during which computation on the
       sending processor halts until the matching receive is executed  by  the
       receiving processor.

       In  C the datatype parameter must be one of the following, depending on
       the type of data to be sent:  [Version  3.3.0  -	 This  parameter  only
       determines  message  length,  not  data	conversion.  It only sends raw
       bytes]
	   datatype    Data Type
	   PVM_STR     string
	   PVM_BYTE    byte
	   PVM_SHORT   short
	   PVM_INT     int
	   PVM_FLOAT   real
	   PVM_CPLX    complex
	   PVM_DOUBLE  double
	   PVM_DCPLX   double complex
	   PVM_LONG    long integer
	   PVM_USHORT  unsigned short int
	   PVM_UINT    unsigned int
	   PVM_ULONG   unsigned long int

       In Fortran the same data types specified for pack should be used.

       The PVM model guarantees the following about message order.  If task  1
       sends  message A to task 2, then task 1 sends message B to task 2, mes‐
       sage A will arrive at task 2 before message B.  Moreover, if both  mes‐
       sages arrive before task 2 does a receive, then a wildcard receive will
       always return message A.

       pvm_psend does not affect the state of  the  current  outgoing  message
       buffer (created by pvm_initsend and used by pvm_send).

WARNINGS
       In  some	 versions  of  PVM  (CM5,  I860 and PGON), messages sent using
       pvm_psend must be received only by pvm_precv, likewise those sent  with
       pvm_send	  must	be  received  by  pvm_recv,  pvm_nrecv	or  pvm_trecv.
       pvm_psend  is  not  compatible  with  pvm_recv	(nor   pvm_send	  with
       pvm_precv).    In   addition,   pvm_probe  is  not  interoperable  with
       pvm_psend.

       This problem occurs because nonstandard message headers	are  used  for
       efficiency  in  the pvm_psend function.	In the generic Unix version of
       PVM, the calls are fully interoperable.

       The message tag space is shared between pvm_send and pvm_psend, so  you
       must  be	 careful  to avoid selecting the wrong message (for example by
       using a wildcard to match the message).

EXAMPLES
       C:
	   info = pvm_psend( tid, msgtag, array, 1000, PVM_FLOAT );

       Fortran:
	   CALL PVMFPSEND( TID, MSGTAG, BUF, CNT, REAL4, INFO )

ERRORS
       These error conditions can be returned by pvm_psend

       PvmBadParam
	      giving an invalid tid, msgtag, or datatype.

       PvmSysErr
	      pvmd not responding.

SEE ALSO
       pvm_precv(3PVM), pvm_send(3PVM)

				15 March, 1994			   PSEND(3PVM)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net