File: pvm_reduce.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 (45 lines) | stat: -rw-r--r-- 1,988 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
pvm_reduce        Scilab // Group        Scilab function         pvm_reduce
NAME
   pvm_reduce - Performs a reduce operation over members of the specified
  group.
  
CALLING SEQUENCE
 [buff, info] = pvm_reduce(func, buff, msgtag, group, rootginst)
PARAMETERS
 func :  string, defines the  operation performed  on  the global
        data. Should be : Max, Min, Sum or Pro.
       
 buff : scalar,  local scilab variable.  On  return, the  data array on
        the root will  be overwritten with the result  of the reduce operation
       over the group.
       
 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.
       
 rootginst  :  integer, instance number  of  group member who  gets the
        result.   
       
 info : integer, status code returned by the routine.  Values
                     less than zero indicate an error. 
       
DESCRIPTION
   pvm_reduce performs global operations such as max, min,      sum or
  product over  all  the tasks in a group. All group members      call
  pvm_reduce with their local data, and the  result  of      the  reduction
   operation appears on the user specified root      task root. The root 
  task  is  identified  by  its  instance      number in the group.  Max
  and Min are implemented for scalar datatypes (double, complex).       For
  complex values the minimum  [maximum]  is  that  complex      pair with 
  the  minimum [maximum] modulus.    Sum and Product are implemented for
  scalar datatypes.    Note:  pvm_reduce  does  not  block.   If  a  task  
  calls      pvm_reduce  and  then  leaves  the group before the root has  
     called pvm_reduce an error may occur.  
  
EXAMPLE
 A = rand(5,5);
 [buff, info] = pvm_reduce("Max", A, msgtag, "Workers", 0)
SEE ALSO
   pvm_bcast, pvm_barrier, pvm_psend, pvm_getinst, pvm_gsize, pvm_joingroup,
  pvm_lvgroup