HPL_reduce - Man Page

Reduce operation.

Synopsis

#include "hpl.h"
 int HPL_reduce( void * BUFFER, const int COUNT, const HPL_T_TYPE DTYPE, const HPL_T_OP OP, const int ROOT, MPI_Comm COMM );

Description

HPL_reduce performs a global reduce operation across all processes of a group.  Note that the input buffer is  used as workarray and in all processes but the accumulating process corrupting the original data.

Arguments

BUFFER  (local input/output)    void *

On entry,  BUFFER  points to  the  buffer to be  reduced.  On exit,  and  in process of rank  ROOT  this array contains the reduced data.  This  buffer  is also used as workspace during the operation in the other processes of the group.

COUNT   (global input)          const int

On entry,  COUNT  indicates the number of entries in  BUFFER. COUNT must be at least zero.

DTYPE   (global input)          const HPL_T_TYPE

On entry,  DTYPE  specifies the type of the buffers operands.

OP      (global input)          const HPL_T_OP

On entry, OP is a pointer to the local combine function.

ROOT    (global input)          const int

On entry, ROOT is the coordinate of the accumulating process.

COMM    (global/local input)    MPI_Comm

The MPI communicator identifying the process collection.

See Also

HPL_broadcast (3), HPL_all_reduce (3), HPL_barrier (3), HPL_min (3), HPL_max (3), HPL_sum (3).

Referenced By

HPL_all_reduce(3), HPL_barrier(3), HPL_broadcast(3), HPL_max(3), HPL_min(3), HPL_sum(3).

February 24, 2016 HPL 2.2 HPL Library Functions