Developer Reference for Intel® oneAPI Math Kernel Library for C
?gsum2d
Performs element-wise summation.
Syntax
void igsum2d(const MKL_INT *contxt, const char *scope, const char *top,
const MKL_INT *m, const MKL_INT *n, MKL_INT *a, const MKL_INT *lda,
const MKL_INT *rdest, const MKL_INT *cdest);
void sgsum2d(const MKL_INT *contxt, const char *scope, const char *top,
const MKL_INT *m, const MKL_INT *n, float *a, const MKL_INT *lda,
const MKL_INT *rdest, const MKL_INT *cdest);
void dgsum2d(const MKL_INT *contxt, const char *scope, const char *top,
const MKL_INT *m, const MKL_INT *n, double *a, const MKL_INT *lda,
const MKL_INT *rdest, const MKL_INT *cdest);
void cgsum2d(const MKL_INT *contxt, const char *scope, const char *top,
const MKL_INT *m, const MKL_INT *n, float *a, const MKL_INT *lda,
const MKL_INT *rdest, const MKL_INT *cdest);
void zgsum2d(const MKL_INT *contxt, const char *scope, const char *top,
const MKL_INT *m, const MKL_INT *n, double *a, const MKL_INT *lda,
const MKL_INT *rdest, const MKL_INT *cdest);
Input Parameters
icontxt
Integer handle that indicates the context.
scope
Indicates what scope the combine should proceed on. Limited to ROW , COLUMN , or ALL .
top
Communication pattern to use during the combine operation.
m
The number of matrix rows to be combined.
n
The number of matrix columns to be combined.
a
Matrix to be added to produce the sum.
lda
The leading dimension of the matrix A , that is, the distance between two successive elements in a matrix row.
rdest
The process row coordinate of the process that should receive the result. If rdest or cdest = -1, all processes within the indicated scope receive the answer.
cdest
The process column coordinate of the process that should receive the result. If rdest or cdest = -1, all processes within the indicated scope receive the answer.
Output Parameters
a
Contains the result if this process is selected to receive the answer, or intermediate results if the process is not selected to receive the result.
Description
This routine performs element-wise summation, that is, each element of matrix A is summed with the corresponding element of the other process’s matrices. Combines may be globally-blocking, so they must be programmed as if no process returns until all have called the routine.