MTDistributedIncomingSpikeScheduler Class Reference

Multi threaded distributed incoming spike scheduler. More...

#include <MTDistributedIncomingSpikeScheduler.h>

Inheritance diagram for MTDistributedIncomingSpikeScheduler:

Inheritance graph
[legend]
Collaboration diagram for MTDistributedIncomingSpikeScheduler:

Collaboration graph
[legend]

List of all members.

Public Member Functions

 MTDistributedIncomingSpikeScheduler (int numThreads, ThreadPool &threadPool, MPIInputBufferVector &inputBuffers, GlobalMultiTargetDelayMap &globalDelayMap, vector< PropagatedSpikeBuffer * > &spikeBuffers, int cycleSteps)
 Constructor.
virtual ~MTDistributedIncomingSpikeScheduler ()
virtual void processMPIInputSpikeBuffers ()
 Implementation of the processing for the multi threaded simulation.

Protected Attributes

int nThreads
ThreadPoolthr_pool
 Thread pool.
vector
< STDistributedIncomingSpikeScheduler * > 
incomingSpikeSchedulers
 Array of Single threaded distributed incoming spike schedulers which are started in separate threads.
vector
< IncomingSpikeSchedulerThreadPoolJob * > 
jobs
 Array of thread pool jobs that are executed by the threads.


Detailed Description

Multi threaded distributed incoming spike scheduler.

Implementation of the DistributedIncomingSpikeScheduler interface for the multi threaded simulation. The processing is done in multiple threads, and each thread schedules incoming spikes for simObjects that belong to one SingleThreadSimEngine.

See also:
DistributedIncomingSpikeScheduler, MPIInputSpikeBuffer

Definition at line 39 of file MTDistributedIncomingSpikeScheduler.h.


Constructor & Destructor Documentation

MTDistributedIncomingSpikeScheduler::MTDistributedIncomingSpikeScheduler ( int  numThreads,
ThreadPool threadPool,
MPIInputBufferVector inputBuffers,
GlobalMultiTargetDelayMap globalDelayMap,
vector< PropagatedSpikeBuffer * > &  spikeBuffers,
int  cycleSteps 
)

Constructor.

Definition at line 3 of file MTDistributedIncomingSpikeScheduler.cpp.

References incomingSpikeSchedulers, jobs, and nThreads.

MTDistributedIncomingSpikeScheduler::~MTDistributedIncomingSpikeScheduler (  )  [virtual]

Definition at line 28 of file MTDistributedIncomingSpikeScheduler.cpp.

References incomingSpikeSchedulers, jobs, and nThreads.


Member Function Documentation

void MTDistributedIncomingSpikeScheduler::processMPIInputSpikeBuffers (  )  [virtual]

Implementation of the processing for the multi threaded simulation.

Implements DistributedIncomingSpikeScheduler.

Definition at line 37 of file MTDistributedIncomingSpikeScheduler.cpp.

References ThreadPool::dispatch(), incomingSpikeSchedulers, jobs, nThreads, thr_pool, and ThreadPool::waitAll().

Here is the call graph for this function:


Member Data Documentation

Thread pool.

Provides the thread objects encapsulating threads used in the processing. *

Definition at line 77 of file MTDistributedIncomingSpikeScheduler.h.

Referenced by processMPIInputSpikeBuffers().

Array of Single threaded distributed incoming spike schedulers which are started in separate threads.

Definition at line 80 of file MTDistributedIncomingSpikeScheduler.h.

Referenced by MTDistributedIncomingSpikeScheduler(), processMPIInputSpikeBuffers(), and ~MTDistributedIncomingSpikeScheduler().

Array of thread pool jobs that are executed by the threads.

Each element holds a job which starts one STDistributedIncomingSpikeScheduler, and is started by separate thread.

See also:
IncomingSpikeSchedulerThreadPoolJob

Definition at line 89 of file MTDistributedIncomingSpikeScheduler.h.

Referenced by MTDistributedIncomingSpikeScheduler(), processMPIInputSpikeBuffers(), and ~MTDistributedIncomingSpikeScheduler().


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

Generated on Wed Jul 9 16:34:51 2008 for PCSIM by  doxygen 1.5.5