BIE::LikelihoodComputationMPITP Class Reference

Override constructor and Likelihood to implement MPI. More...

#include <LikelihoodComputationMPITP.h>

Inheritance diagram for BIE::LikelihoodComputationMPITP:
Collaboration diagram for BIE::LikelihoodComputationMPITP:

List of all members.

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

Global parameters
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


Detailed Description

Override constructor and Likelihood to implement MPI.

Compute likelihood in parallel using tile partitioning, line-of-sight partioning, or multithread queueing


Member Function Documentation

void BIE::LikelihoodComputationMPITP::enslave_worker (  ) 

Set subdivisions.

Manipulate slaves Slave processes are "captured"

double BIE::LikelihoodComputationMPITP::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.

Compute the norm

void BIE::LikelihoodComputationMPITP::modelEvaluateList ( Model model,
Tile t,
const vector< double > &  x,
const vector< double > &  y,
SampleDistribution sampleDistribution,
vector< vector< double > > &  evaluations 
) [virtual]

Functions for integrators to evaluate a list of points in parallel.

Evaluate the distribution

Implements BIE::LikelihoodComputation.


Member Data Documentation

debugging counters to find dangling free problem

Number of slaves freed so far

Used by TessToolSender for acquiring tile info.

Number of tile masters


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

Send suggestions, questions, and feedback to WEINBERG at ASTRO dot UMASS dot EDU.
Documentation generated at Fri Mar 26 00:35:12 2010 by doxygen