#include <MTDistributedIncomingSpikeScheduler.h>
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 |
ThreadPool & | thr_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. |
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.
Definition at line 39 of file MTDistributedIncomingSpikeScheduler.h.
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.
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().
int MTDistributedIncomingSpikeScheduler::nThreads [protected] |
Definition at line 71 of file MTDistributedIncomingSpikeScheduler.h.
Referenced by MTDistributedIncomingSpikeScheduler(), processMPIInputSpikeBuffers(), and ~MTDistributedIncomingSpikeScheduler().
ThreadPool& MTDistributedIncomingSpikeScheduler::thr_pool [protected] |
Thread pool.
Provides the thread objects encapsulating threads used in the processing. *
Definition at line 77 of file MTDistributedIncomingSpikeScheduler.h.
Referenced by processMPIInputSpikeBuffers().
vector<STDistributedIncomingSpikeScheduler*> MTDistributedIncomingSpikeScheduler::incomingSpikeSchedulers [protected] |
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().
vector<IncomingSpikeSchedulerThreadPoolJob*> MTDistributedIncomingSpikeScheduler::jobs [protected] |
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.
Definition at line 89 of file MTDistributedIncomingSpikeScheduler.h.
Referenced by MTDistributedIncomingSpikeScheduler(), processMPIInputSpikeBuffers(), and ~MTDistributedIncomingSpikeScheduler().