casa  5.7.0-16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
casa::ExecRecord Struct Reference

#include <DistSIIterBot.h>

Public Member Functions

 ExecRecord (int iterDone, int maxCycleIterDone, float peakResidual, bool updatedModelFlag)
 
 ExecRecord (const casacore::Record &rec)
 
casacore::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). More...
 
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()! More...
 
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 casacore::Record rec)

Member Function Documentation

casacore::Record casa::ExecRecord::asRecord ( )
static MPI_Datatype casa::ExecRecord::datatype ( )
inlinestatic

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, MPI_FLOAT, MPI_INT, MPI_Type_create_resized, MPI_Type_create_struct, MPI_Type_free, and UNUSED_WITHOUT_MPI.

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

Definition at line 107 of file DistSIIterBot.h.

References iterDone, max, maxCycleIterDone, peakResidual, and updatedModelFlag.

Referenced by reduceOpFun().

static MPI_Op casa::ExecRecord::reduceOp ( )
inlinestatic

Definition at line 138 of file DistSIIterBot.h.

References MPI_Op_create, and reduceOpFun().

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

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

int casa::ExecRecord::iterDone

Definition at line 103 of file DistSIIterBot.h.

Referenced by reduce().

int casa::ExecRecord::maxCycleIterDone

Definition at line 104 of file DistSIIterBot.h.

Referenced by reduce().

float casa::ExecRecord::peakResidual

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().

MPI_BOOL_TYPE casa::ExecRecord::updatedModelFlag

Definition at line 105 of file DistSIIterBot.h.

Referenced by reduce().


The documentation for this struct was generated from the following file: