NEST main@caf0ae8
 
Loading...
Searching...
No Matches
nest::SendBufferPosition Class Reference

This class simplifies keeping track of write position in MPI buffer while collocating spikes. More...

#include <send_buffer_position.h>

Public Member Functions

 SendBufferPosition ()
 
size_t begin (const size_t rank) const
 Returns begin index of specified rank in MPI buffer.
 
size_t end (const size_t rank) const
 Returns end index of specified rank in MPI buffer.
 
size_t idx (const size_t rank) const
 Returns current index of specified rank in MPI buffer.
 
bool is_chunk_filled (const size_t rank) const
 Returns whether the part of the buffer on the specified rank has been filled.
 
void increase (const size_t rank)
 

Private Attributes

std::vector< size_t > begin_
 first entry for rank
 
std::vector< size_t > end_
 one beyond last entry for rank
 
std::vector< size_t > idx_
 next entry in rank to write to
 

Detailed Description

This class simplifies keeping track of write position in MPI buffer while collocating spikes.

Constructor & Destructor Documentation

◆ SendBufferPosition()

nest::SendBufferPosition::SendBufferPosition ( )

References begin_, end_, nest::MPIManager::get_num_processes(), nest::MPIManager::get_send_recv_count_spike_data_per_rank(), idx_, nest::kernel(), and nest::KernelManager::mpi_manager.

Here is the call graph for this function:

Member Function Documentation

◆ begin()

size_t nest::SendBufferPosition::begin ( const size_t  rank) const
inline

Returns begin index of specified rank in MPI buffer.

References begin_.

Referenced by nest::EventDeliveryManager::set_end_marker_().

Here is the caller graph for this function:

◆ end()

size_t nest::SendBufferPosition::end ( const size_t  rank) const
inline

Returns end index of specified rank in MPI buffer.

References end_.

Referenced by nest::EventDeliveryManager::get_global_max_spikes_per_rank_(), nest::EventDeliveryManager::reset_complete_marker_spike_data_(), and nest::EventDeliveryManager::set_end_marker_().

Here is the caller graph for this function:

◆ idx()

size_t nest::SendBufferPosition::idx ( const size_t  rank) const
inline

Returns current index of specified rank in MPI buffer.

References idx_.

Referenced by nest::EventDeliveryManager::collocate_spike_data_buffers_(), and nest::EventDeliveryManager::set_end_marker_().

Here is the caller graph for this function:

◆ increase()

void nest::SendBufferPosition::increase ( const size_t  rank)
inline

References idx_.

Referenced by nest::EventDeliveryManager::collocate_spike_data_buffers_().

Here is the caller graph for this function:

◆ is_chunk_filled()

bool nest::SendBufferPosition::is_chunk_filled ( const size_t  rank) const
inline

Returns whether the part of the buffer on the specified rank has been filled.

Parameters
rankRank denoting which part of the buffer we check

References end_, and idx_.

Referenced by nest::EventDeliveryManager::collocate_spike_data_buffers_().

Here is the caller graph for this function:

Member Data Documentation

◆ begin_

std::vector< size_t > nest::SendBufferPosition::begin_
private

first entry for rank

Referenced by begin(), and SendBufferPosition().

◆ end_

std::vector< size_t > nest::SendBufferPosition::end_
private

one beyond last entry for rank

Referenced by end(), is_chunk_filled(), and SendBufferPosition().

◆ idx_

std::vector< size_t > nest::SendBufferPosition::idx_
private

next entry in rank to write to

Referenced by idx(), increase(), is_chunk_filled(), and SendBufferPosition().


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