#include <MPIInputBuffer.h>

| Public Member Functions | |
| MPIInputBufferVector (vector< vector< gl_engineid_t > > &glengineids, int numBuffers) | |
| Constructor. | |
| virtual | ~MPIInputBufferVector () | 
| MPIInputBuffer & | operator[] (int idx) | 
| References the  idx  MPIInputBuffer in the array. | |
| void * | getBaseBufferPtr () | 
| Gives a pointer of the allocated space for the buffers. [used for testing only]. | |
| unsigned int | size () | 
| Returns the number of MPIInputBuffers in the array. | |
| void | initialize (int minDelay, size_t maxMPIMessageSize=0, size_t spikeBufferSize=MPIBUFFER_BLOCK_SIZE) | 
| Initializes all input buffers. Allocates memory blocks used by the input buffers. | |
| void | startNewMPIExchange () | 
| void | prepareNextBufferSlices () | 
| MPIExchangeBlocksInfo & | getMPIExchangeBlocksInfo () | 
| Protected Attributes | |
| bool | initialized | 
| int | nNodes | 
| Number of mpi input buffers in the vector (equals to number of mpi nodes). | |
| size_t | spike_buffer_size | 
| Size of the memory block to store the serialized spike data in incoming mpi messages. | |
| size_t | max_mpi_msg_size | 
| Maximum size of mpi message sent in one all-to-all exchange iteration. | |
| vector< MPIInputBuffer > | _buffers | 
| vector of all MPIInputBuffers | |
| char * | memoryPool | 
| The allocated contiguous memory block. | |
| MPIExchangeBlocksInfo | mpiExchBlocksInfo | 
Definition at line 131 of file MPIInputBuffer.h.
| MPIInputBufferVector::MPIInputBufferVector | ( | vector< vector< gl_engineid_t > > & | glengineids, | |
| int | numBuffers | |||
| ) | 
Constructor.
| numBuffers | number of MPIInputBuffers to create in the array. | |
| buf_size | size of the memory block to store the serialized data in incoming mpi messages. | 
Definition at line 130 of file MPIInputBuffer.cpp.
References _buffers, nNodes, and size().

| virtual MPIInputBufferVector::~MPIInputBufferVector | ( | ) |  [inline, virtual] | 
| MPIInputBuffer& MPIInputBufferVector::operator[] | ( | int | idx | ) |  [inline] | 
References the idx MPIInputBuffer in the array.
Definition at line 149 of file MPIInputBuffer.h.
References _buffers.
| void* MPIInputBufferVector::getBaseBufferPtr | ( | ) |  [inline] | 
Gives a pointer of the allocated space for the buffers. [used for testing only].
Definition at line 155 of file MPIInputBuffer.h.
References memoryPool.
Referenced by MPIDefaultAllToAllCommunicator::doExchangeAlgorithm().
| unsigned int MPIInputBufferVector::size | ( | ) |  [inline] | 
Returns the number of MPIInputBuffers in the array.
Definition at line 161 of file MPIInputBuffer.h.
References nNodes.
Referenced by MPIInputBufferVector(), and STDistributedIncomingSpikeScheduler::processMPIInputSpikeBuffers().
| void MPIInputBufferVector::initialize | ( | int | minDelay, | |
| size_t | maxMPIMessageSize = 0, | |||
| size_t | spikeBufferSize = MPIBUFFER_BLOCK_SIZE | |||
| ) | 
Initializes all input buffers. Allocates memory blocks used by the input buffers.
Definition at line 139 of file MPIInputBuffer.cpp.
References _buffers, MPIExchangeBlocksInfo::getMsgSpec(), initialized, max_mpi_msg_size, memoryPool, mpiExchBlocksInfo, nNodes, and spike_buffer_size.
Referenced by DistributedMultiThreadNetwork::_initialize_().

| void MPIInputBufferVector::startNewMPIExchange | ( | ) |  [inline] | 
Definition at line 170 of file MPIInputBuffer.h.
References _buffers.
Referenced by MPIAllToAllCommunicator::doAllToAllExchange().
| void MPIInputBufferVector::prepareNextBufferSlices | ( | ) |  [inline] | 
Definition at line 177 of file MPIInputBuffer.h.
References _buffers.
Referenced by MPIAllToAllCommunicator::doAllToAllExchange().
| MPIExchangeBlocksInfo & MPIInputBufferVector::getMPIExchangeBlocksInfo | ( | ) | 
Definition at line 168 of file MPIInputBuffer.cpp.
References mpiExchBlocksInfo.
Referenced by MPISynchroShuffleAllToAllComm::doExchangeAlgorithm(), and MPIDefaultAllToAllCommunicator::doExchangeAlgorithm().
| bool MPIInputBufferVector::initialized  [protected] | 
Definition at line 187 of file MPIInputBuffer.h.
Referenced by initialize(), and ~MPIInputBufferVector().
| int MPIInputBufferVector::nNodes  [protected] | 
Number of mpi input buffers in the vector (equals to number of mpi nodes).
Definition at line 190 of file MPIInputBuffer.h.
Referenced by initialize(), MPIInputBufferVector(), and size().
| size_t MPIInputBufferVector::spike_buffer_size  [protected] | 
Size of the memory block to store the serialized spike data in incoming mpi messages.
Definition at line 193 of file MPIInputBuffer.h.
Referenced by initialize().
| size_t MPIInputBufferVector::max_mpi_msg_size  [protected] | 
Maximum size of mpi message sent in one all-to-all exchange iteration.
If value is -1, then whole analog data + spike data that fit into the buffer of size=spike_buffer_size are sent in one message in the first iteration. Otherwise, the buffer is sliced into blocks of size max_mpi_msg_size.
Definition at line 201 of file MPIInputBuffer.h.
Referenced by initialize().
| vector<MPIInputBuffer> MPIInputBufferVector::_buffers  [protected] | 
vector of all MPIInputBuffers
Definition at line 204 of file MPIInputBuffer.h.
Referenced by initialize(), MPIInputBufferVector(), operator[](), prepareNextBufferSlices(), and startNewMPIExchange().
| char* MPIInputBufferVector::memoryPool  [protected] | 
The allocated contiguous memory block.
Definition at line 207 of file MPIInputBuffer.h.
Referenced by getBaseBufferPtr(), initialize(), and ~MPIInputBufferVector().
Definition at line 209 of file MPIInputBuffer.h.
Referenced by getMPIExchangeBlocksInfo(), and initialize().
 1.5.5
 1.5.5