This class simplifies keeping track of write position in MPI buffer while collocating targets. More...
#include <send_buffer_position.h>
Public Member Functions | |
| TargetSendBufferPosition (const AssignedRanks &assigned_ranks, const unsigned int send_recv_count_per_rank) | |
| unsigned int | idx (const size_t rank) const |
| Returns current index of specified rank in MPI buffer. | |
| unsigned int | begin (const size_t rank) const |
| Returns begin index of specified rank in MPI buffer. | |
| unsigned int | end (const size_t rank) const |
| Returns end 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. | |
| bool | are_all_chunks_filled () const |
| Returns whether the parts of the MPI buffer assigned to this thread has been filled. | |
| void | increase (const size_t rank) |
Private Member Functions | |
| size_t | rank_to_index_ (const size_t rank) const |
Private Attributes | |
| size_t | begin_rank_ |
| size_t | end_rank_ |
| size_t | max_size_ |
| size_t | num_target_data_written_ |
| size_t | send_recv_count_per_rank_ |
| std::vector< size_t > | idx_ |
| std::vector< size_t > | begin_ |
| std::vector< size_t > | end_ |
This class simplifies keeping track of write position in MPI buffer while collocating targets.
|
inline |
|
inline |
Returns whether the parts of the MPI buffer assigned to this thread has been filled.
References idx_, num_target_data_written_, and send_recv_count_per_rank_.
Referenced by nest::EventDeliveryManager::collocate_target_data_buffers_().
|
inline |
Returns begin index of specified rank in MPI buffer.
References begin_, and rank_to_index_().
Referenced by nest::EventDeliveryManager::collocate_target_data_buffers_(), nest::EventDeliveryManager::collocate_target_data_buffers_compressed_(), and nest::ConnectionManager::fill_target_buffer().
|
inline |
Returns end index of specified rank in MPI buffer.
References end_, and rank_to_index_().
Referenced by nest::EventDeliveryManager::collocate_target_data_buffers_(), nest::EventDeliveryManager::collocate_target_data_buffers_compressed_(), is_chunk_filled(), and nest::EventDeliveryManager::set_complete_marker_target_data_().
|
inline |
Returns current index of specified rank in MPI buffer.
References idx_, and rank_to_index_().
Referenced by nest::EventDeliveryManager::collocate_target_data_buffers_(), nest::ConnectionManager::fill_target_buffer(), and is_chunk_filled().
|
inline |
References idx_, num_target_data_written_, and rank_to_index_().
Referenced by nest::EventDeliveryManager::collocate_target_data_buffers_(), and nest::ConnectionManager::fill_target_buffer().
|
inline |
Returns whether the part of the buffer on the specified rank has been filled.
| rank | Rank denoting which part of the buffer we check |
Referenced by nest::EventDeliveryManager::collocate_target_data_buffers_(), and nest::ConnectionManager::fill_target_buffer().
|
inlineprivate |
References begin_rank_, end_rank_, and max_size_.
Referenced by begin(), end(), idx(), and increase().
|
private |
Referenced by begin(), and TargetSendBufferPosition().
|
private |
Referenced by rank_to_index_().
|
private |
Referenced by end(), and TargetSendBufferPosition().
|
private |
Referenced by rank_to_index_().
|
private |
Referenced by are_all_chunks_filled(), idx(), increase(), and TargetSendBufferPosition().
|
private |
Referenced by rank_to_index_().
|
private |
Referenced by are_all_chunks_filled(), and increase().
|
private |
Referenced by are_all_chunks_filled().