File: pvm_send.cat

package info (click to toggle)
scilab 2.6-4
  • links: PTS
  • area: non-free
  • in suites: woody
  • size: 54,632 kB
  • ctags: 40,267
  • sloc: ansic: 267,851; fortran: 166,549; sh: 10,005; makefile: 4,119; tcl: 1,070; cpp: 233; csh: 143; asm: 135; perl: 130; java: 39
file content (61 lines) | stat: -rw-r--r-- 2,265 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
pvm_send         Scilab // Group         Scilab function           pvm_send
NAME
   pvm_send - immediately sends (or multicast) data.
  
CALLING SEQUENCE
 [info] = pvm_send(tids,buff,msgtag)
PARAMETERS
 tids  : row of integers, contains the task IDs of the tasks to be sent
       to.
       
 buff  : scilab variable.
       
 msgtag : integer, message tag supplied by the user.  msgtag should be
        >= 0.  It allows the user's program to distinguish between different
       kinds of messages .
       
 info  : integer, status code returned by the routine. Values less than
       zero indicate an error. 
       
DESCRIPTION
   pvm_send  sends (or multicasts) a message  to the PVM process identified
  in the 
  
   array. Note that the message is not sent to the caller even if listed in
  the array of tids.
  
   is used to label the content of the message. If pvm_send is successful,
  
   will be 0. If some error occurs then
  
   will be < 0.
  
   The pvm_send routine is asynchronous.  Computation on the sending
  processor resumes as soon as the message is safely on its way to the
  receiving processor.  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.
  
   If a multicast is performed, pvm_send first determines which other pvmds
  contain the specified tasks.  Then passes the message to these pvmds
  which in turn distribute the message to their local tasks without further
  network traffic.
  
   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, message
  A will arrive at task 2 before message B.  Moreover, if both messages
  arrive before task 2 does a receive, then a wildcard receive will always
  return message A.
  
   Terminating a PVM task immediately after sending a message or messages
  from it may result in those messages being lost.  To be sure, always call
  pvm_exit() before stopping. 
  
EXAMPLE
 A = rand(5,5)*(1+%i);
 deff('[x]=f(y)','x = 1/y')                       
 info = pvm_send([262150, 262152], A(1:2:5,:), 100)      
 pvm_send(262146,f,200)          
SEE ALSO
   pvm_recv, pvm_bcast