BLACS Combine Operations

This topic describes BLACS routines that combine the data to produce a result.

In a combine operation, each participating process contributes data that is combined with other processes’ data to produce a result. This result can be given to a particular process (called the destination process), or to all participating processes. If the result is given to only one process, the operation is referred to as a leave-on-one combine, and if the result is given to all participating processes the operation is referenced as a leave-on-all combine.

At present, three kinds of combines are supported. They are:

of general rectangular arrays.

Note that a combine operation combines data between processes. By definition, a combine performed across a scope of only one process does not change the input data. This is why the operations (max/min/sum) are specified as element-wise. Element-wise indicates that each element of the input array will be combined with the corresponding element from all other processes’ arrays to produce the result. Thus, a 4 x 2 array of inputs produces a 4 x 2 answer array.

When the max/min comparison is being performed, absolute value is used. For example, -5 and 5 are equivalent. However, the returned value is unchanged; that is, it is not the absolute value, but is a signed value instead. Therefore, if you performed a BLACS absolute value maximum combine on the numbers -5, 3, 1, 8 the result would be -8.

The initial symbol ? in the routine names below masks the data type:

i

integer

s

single precision real

d

double precision real

c

single precision complex

z

double precision complex.

BLACS Combines

Routine name

Results of operation

?gamx2d

Entries of result matrix will have the value of the greatest absolute value found in that position.

?gamn2d

Entries of result matrix will have the value of the smallest absolute value found in that position.

?gsum2d

Entries of result matrix will have the summation of that position.


Submit feedback on this help topic

Copyright © 1994 - 2011, Intel Corporation. All rights reserved.