Developer Reference for Intel® oneAPI Math Kernel Library for C
A newer version of this document is available. Customers should click here to go to the newest version.
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:
- element-wise summation
- element-wise absolute value maximization
- element-wise absolute value minimization
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.
Routine name |
Results of operation |
---|---|
Entries of result matrix will have the value of the greatest absolute value found in that position. |
|
Entries of result matrix will have the value of the smallest absolute value found in that position. |
|
Entries of result matrix will have the summation of that position. |