Generated on Tue Mar 5 2013 22:37:49 for Gecode by doxygen 1.8.3.1
Gecode::Search::Parallel::Engine::Worker Class Reference

Parallel depth-first search worker More...

#include <engine.hh>

Public Member Functions

 Worker (Space *s, size_t sz, Engine &e)
 Initialize for space s (of size sz) with engine e. More...
 
Spacesteal (unsigned long int &d)
 Hand over some work (NULL if no work available) More...
 
Statistics statistics (void)
 Return statistics. More...
 
Engineengine (void) const
 Provide access to engine. More...
 
virtual ~Worker (void)
 Destructor. More...
 
- Public Member Functions inherited from Gecode::Search::Worker
 Worker (size_t sz)
 Initialize with space size sz. More...
 
void start (void)
 Reset stop information. More...
 
bool stop (const Options &o, size_t sz)
 Check whether engine must be stopped (with additional stackspace sz) More...
 
bool stopped (void) const
 Check whether engine has been stopped. More...
 
void push (const Space *s, const Choice *c)
 New space s and choice c get pushed on stack. More...
 
void constrained (const Space *s1, const Space *s2)
 Space s1 is replaced by space s2 due to constraining. More...
 
void adapt (const Space *s)
 New space s is added for adaptive recomputation. More...
 
void pop (const Space *s, const Choice *c)
 Space s and choice c get popped from stack. More...
 
void lao (const Space *s)
 Space s gets used for LAO (removed from stack) More...
 
void current (const Space *s)
 Space s becomes current space (s = NULL: current space deleted) More...
 
void reset (const Space *s, unsigned long int d=0)
 Reset statistics for space s with root depth d. More...
 
void reset (void)
 Reset statistics for failed space. More...
 
void stack_depth (unsigned long int d)
 Record stack depth d. More...
 
unsigned long int steal_depth (unsigned long int d) const
 Return steal depth. More...
 
- Public Member Functions inherited from Gecode::Search::Statistics
 Statistics (void)
 Initialize. More...
 
void reset (void)
 Reset. More...
 
Statistics operator+ (const Statistics &s)
 Return sum with s. More...
 
Statisticsoperator+= (const Statistics &s)
 Increment by statistics s. More...
 
- Public Member Functions inherited from Gecode::StatusStatistics
 StatusStatistics (void)
 Initialize. More...
 
void reset (void)
 Reset information. More...
 
StatusStatistics operator+ (const StatusStatistics &s)
 Return sum with s. More...
 
StatusStatisticsoperator+= (const StatusStatistics &s)
 Increment by statistics s. More...
 
- Public Member Functions inherited from Gecode::Support::Runnable
virtual void run (void)=0
 The function that is executed when the thread starts. More...
 
virtual ~Runnable (void)
 Destructor. More...
 

Protected Attributes

Engine_engine
 Reference to engine. More...
 
Support::Mutex m
 Mutex for access to worker. More...
 
Path path
 Current path ins search tree. More...
 
Spacecur
 Current space being explored. More...
 
unsigned int d
 Distance until next clone. More...
 
bool idle
 Whether worker is currently idle. More...
 
- Protected Attributes inherited from Gecode::Search::Worker
bool _stopped
 Whether engine has been stopped. More...
 
size_t mem_space
 Memory required for a single space. More...
 
size_t mem_cur
 Memory for the current space (including memory for caching) More...
 
size_t mem_total
 Current total memory. More...
 
unsigned long int root_depth
 Depth of root node (for work stealing) More...
 

Additional Inherited Members

- Static Public Member Functions inherited from Gecode::Support::Runnable
static void * operator new (size_t s)
 Allocate memory from heap. More...
 
static void operator delete (void *p)
 Free memory allocated from heap. More...
 
- Public Attributes inherited from Gecode::Search::Statistics
unsigned long int fail
 Number of failed nodes in search tree. More...
 
unsigned long int node
 Number of nodes expanded. More...
 
unsigned long int depth
 Maximum depth of search stack. More...
 
size_t memory
 Peak memory allocated. More...
 

Detailed Description

Parallel depth-first search worker

Definition at line 52 of file engine.hh.

Constructor & Destructor Documentation

Gecode::Search::Parallel::Engine::Worker::Worker ( Space s,
size_t  sz,
Engine e 
)
inline

Initialize for space s (of size sz) with engine e.

Definition at line 239 of file engine.hh.

Gecode::Search::Parallel::Engine::Worker::~Worker ( void  )
virtual

Destructor.

Reimplemented in Gecode::Search::Parallel::BAB::Worker.

Definition at line 109 of file engine.cpp.

Member Function Documentation

Space * Gecode::Search::Parallel::Engine::Worker::steal ( unsigned long int &  d)
inline

Hand over some work (NULL if no work available)

Definition at line 396 of file engine.hh.

Statistics Gecode::Search::Parallel::Engine::Worker::statistics ( void  )
inline

Return statistics.

Definition at line 276 of file engine.hh.

Engine & Gecode::Search::Parallel::Engine::Worker::engine ( void  ) const
inline

Provide access to engine.

Definition at line 199 of file engine.hh.

Member Data Documentation

Engine& Gecode::Search::Parallel::Engine::Worker::_engine
protected

Reference to engine.

Definition at line 55 of file engine.hh.

Support::Mutex Gecode::Search::Parallel::Engine::Worker::m
protected

Mutex for access to worker.

Definition at line 57 of file engine.hh.

Path Gecode::Search::Parallel::Engine::Worker::path
protected

Current path ins search tree.

Definition at line 59 of file engine.hh.

Space* Gecode::Search::Parallel::Engine::Worker::cur
protected

Current space being explored.

Definition at line 61 of file engine.hh.

unsigned int Gecode::Search::Parallel::Engine::Worker::d
protected

Distance until next clone.

Definition at line 63 of file engine.hh.

bool Gecode::Search::Parallel::Engine::Worker::idle
protected

Whether worker is currently idle.

Definition at line 65 of file engine.hh.


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