Thrill
0.1
|
Definition at line 29 of file flow_control_manager.hpp.
#include <flow_control_manager.hpp>
Public Member Functions | |
FlowControlChannelManager (Group &group, size_t local_worker_count) | |
Initializes a certain count of flow control channels. More... | |
FlowControlChannel & | GetFlowControlChannel (size_t thread_id) |
Gets the flow control channel for a certain thread. More... | |
std::vector< FlowControlChannel > & | GetFlowControlChannels () |
Gets all flow control channels for all threads. More... | |
Private Types | |
using | LocalData = FlowControlChannel::LocalData |
Thread local data structure: aligned such that no cache line is shared. More... | |
Private Attributes | |
common::ThreadBarrier | barrier_ |
std::vector< FlowControlChannel > | channels_ |
The flow control channels associated with this node. More... | |
std::atomic< size_t > | generation_ { 0 } |
Host-global generation counter. More... | |
std::vector< LocalData > | shmem_ |
Array of thread local data, one for each thread. More... | |
|
private |
Thread local data structure: aligned such that no cache line is shared.
Definition at line 40 of file flow_control_manager.hpp.
|
inline |
Initializes a certain count of flow control channels.
group | The net group to use for initialization. |
local_worker_count | The count of threads to spawn flow channels for. |
Definition at line 55 of file flow_control_manager.hpp.
References FlowControlChannelManager::generation_.
|
inline |
Gets the flow control channel for a certain thread.
Definition at line 78 of file flow_control_manager.hpp.
|
inline |
Gets all flow control channels for all threads.
Definition at line 70 of file flow_control_manager.hpp.
References FlowControlChannelManager::channels_.
|
private |
The shared barrier used to synchronize between worker threads on this node.
Definition at line 34 of file flow_control_manager.hpp.
|
private |
The flow control channels associated with this node.
Definition at line 37 of file flow_control_manager.hpp.
Referenced by FlowControlChannelManager::GetFlowControlChannels().
|
private |
Host-global generation counter.
Definition at line 46 of file flow_control_manager.hpp.
Referenced by FlowControlChannelManager::FlowControlChannelManager().
|
private |
Array of thread local data, one for each thread.
Definition at line 43 of file flow_control_manager.hpp.