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

Protected Attributes

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

Additional Inherited Members

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

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.

Reimplemented in Gecode::Search::Parallel::BAB::Worker, and Gecode::Search::Parallel::DFS::Worker.

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: