Override constructor and Likelihood to implement MPI.
|
Public Member Functions |
|
int | getNumAndIdsOfTileMasters (int *num, int **idlist) |
| | For internal use: return the number nodes controlling tile computation.
|
|
| LikelihoodComputationMPITP (int M, int Ndim) |
| | Constructor.
|
|
| ~LikelihoodComputationMPITP (void) |
| | Destructor.
|
|
double | Likelihood (State &, int indx) |
| | Determine likelihood for current state.
|
|
double | LikelihoodPrevious (State &, int indx) |
| | Determine likelihood for previous state.
|
|
void | TileGranularity () |
| | Integration over each tile in a single process.
|
|
void | IntegrationGranularity () |
| | Integration is split among multiple processes by line of sight.
|
|
void | TilePointGranularity () |
| | Allow integration is split by optimization heuristics.
|
|
void | Granularity (int) |
| | Set granularity type.
|
| double | normEvaluate (Model *model, Tile *t, double x, double y, SampleDistribution *dist) |
| | Load balancing: -1 turns this off (until the counter wraps) 0 load balances on every step Rates global over all instances.
|
|
vector< double > | modelEvaluate (Model *model, Tile *t, double x, double y, SampleDistribution *dist) |
| | Compute the distribution.
|
|
virtual bool | Serial () |
| | Request serial or parallel evaluation.
|
|
| void | enslave_worker () |
| | Set subdivisions.
|
|
void | free_workers (void) |
| | Slave processes are "freed".
|
|
| void | modelEvaluateList (Model *model, Tile *t, const vector< double > &x, const vector< double > &y, SampleDistribution *sampleDistribution, vector< vector< double > > &evaluations) |
| | Functions for integrators to evaluate a list of points in parallel.
|
|
void | normEvaluateList (Model *model, Tile *tile, const vector< double > &x, const vector< double > &y, SampleDistribution *sampleDistribution, vector< double > &evaluations) |
| | Evaluate the norm.
|
Public Attributes |
|
int | numModelEvals |
| | Counts ModelEvals (debug diag).
|
|
int | counter |
| | Counts likelihood calls (debug diag).
|
|
| int | slaveFreeCount |
| | debugging counters to find dangling free problem
|
|
int | slaveCreateCount |
| | Number of slaves created so far.
|
|
| int | _numTMs |
| | Used by TessToolSender for acquiring tile info.
|
|
vector< int > | _tmList |
| | List of tile masters.
|
Static Public Attributes |
|
|
static int | NLOAD |
| | Load balance frequency (-1=never, 0=everystep, NLOAD>0==>modulus).
|
|
static double | beg |
| | Beginning of item computation list.
|
|
static double | end |
| | End of item computation list.
|
Protected Member Functions |
|
virtual bool | Slaves () |
| | Likelihood computation may not be enslaved.
|
Friends |
|
class | TileMasterWorkerThread |
|
class | boost::serialization::access |
Override constructor and Likelihood to implement MPI.
Compute likelihood in parallel using tile partitioning, line-of-sight partioning, or multithread queueing