casa::ExecRecord Struct Reference

#include <DistSIIterBot.h>

List of all members.

Public Member Functions

 ExecRecord (int iterDone, int maxCycleIterDone, float peakResidual, bool updatedModelFlag)
 ExecRecord (const Record &rec)
Record asRecord ()
void reduce (const ExecRecord *rec)

Static Public Member Functions

static MPI_Datatype datatype ()
 It might be nice to have static class members to hold the MPI datatype and reduction op, but since they can only be computed at run-time, that would require a mutex and lock (the computation would have to be in a critical section).
static MPI_Op reduceOp ()
static void reduceOpFun (void *invec, void *inoutvec, int *len, MPI_Datatype *datatype __attribute__((unused)))

Public Attributes

float peakResidual
 Don't modify the following fields, including their order, without a corresponding change in the computation of datatype()!
int iterDone
int maxCycleIterDone
MPI_BOOL_TYPE updatedModelFlag

Detailed Description

Definition at line 92 of file DistSIIterBot.h.


Constructor & Destructor Documentation

casa::ExecRecord::ExecRecord ( int  iterDone,
int  maxCycleIterDone,
float  peakResidual,
bool  updatedModelFlag 
)
casa::ExecRecord::ExecRecord ( const Record &  rec  ) 

Member Function Documentation

Record casa::ExecRecord::asRecord (  ) 
static MPI_Datatype casa::ExecRecord::datatype (  )  [inline, static]

It might be nice to have static class members to hold the MPI datatype and reduction op, but since they can only be computed at run-time, that would require a mutex and lock (the computation would have to be in a critical section).

In turn that would require acquiring the lock every time the datatype is accessed, which is something that we'd like to avoid.

to capture padding for alignment of structures, we resize dt

Definition at line 120 of file DistSIIterBot.h.

References MPI_BOOL, and UNUSED_WITHOUT_MPI.

void casa::ExecRecord::reduce ( const ExecRecord rec  )  [inline]

Definition at line 107 of file DistSIIterBot.h.

References iterDone, casacore::max(), maxCycleIterDone, peakResidual, and updatedModelFlag.

Referenced by reduceOpFun().

static MPI_Op casa::ExecRecord::reduceOp (  )  [inline, static]

Definition at line 138 of file DistSIIterBot.h.

References reduceOpFun().

static void casa::ExecRecord::reduceOpFun ( void *  invec,
void *  inoutvec,
int *  len,
MPI_Datatype *datatype   __attribute__(unused) 
) [inline, static]

decrement the value pointed to by *len -- not sure that the standard says anything about doing that

Definition at line 147 of file DistSIIterBot.h.

References reduce().

Referenced by reduceOp().


Member Data Documentation

Definition at line 103 of file DistSIIterBot.h.

Referenced by reduce().

Definition at line 104 of file DistSIIterBot.h.

Referenced by reduce().

Don't modify the following fields, including their order, without a corresponding change in the computation of datatype()!

Definition at line 102 of file DistSIIterBot.h.

Referenced by reduce().

Definition at line 105 of file DistSIIterBot.h.

Referenced by reduce().


The documentation for this struct was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 31 Aug 2016 for casa by  doxygen 1.6.1