|
| GroupableAbstraction (CopyableNode *const copyableNode, size_t const &numberThreads) |
| Constructor using the node abstraction to call the user-defined copy and the number of threads.
|
|
| ~GroupableAbstraction () override=default |
| Default destructor.
|
|
int | threadId () const |
| Accessor to thread id.
|
|
std::shared_ptr< CopyableNode > | callCopyAndRegisterInGroup () |
| Call the used-defined copy and register the copy in the group.
|
|
virtual void | copyInnerStructure (CopyableCore *copyableCore)=0 |
| Copy the inner structure of the core.
|
|
| CopyableAbstraction (CopyableNode *const copyableNode) |
| Constructor using a node abstraction.
|
|
virtual | ~CopyableAbstraction ()=default |
| Default destructor.
|
|
| AnyGroupableAbstraction (size_t const numberThreads) |
| Constructor using the number of threads.
|
|
virtual | ~AnyGroupableAbstraction ()=default |
| Default destructor.
|
|
size_t | numberThreads () const |
| Accessor to the number of threads.
|
|
bool | isInGroup () const |
| Test if a group is needed.
|
|
std::string | nodeId () const |
| Accessor to the node id (redirection to NodeAbstraction::nodeId)
|
|
std::shared_ptr< std::set< AnyGroupableAbstraction * > > const & | group () const |
| Group of cores accessor.
|
|
std::shared_ptr< std::set< NodeAbstraction * > > | groupAsNodes () const |
| Create a set of the NodeAbstraction constituting the group.
|
|
AnyGroupableAbstraction * | groupRepresentative () const |
| Group representative accessor.
|
|
std::string | groupRepresentativeId () const |
| Group id representative accessor.
|
|
void | groupRepresentative (AnyGroupableAbstraction *groupRepresentative) |
| Group representative setter.
|
|
void | group (std::shared_ptr< std::set< AnyGroupableAbstraction * > > const &group) |
| Group setter.
|
|
size_t | numberActiveThreadInGroup () const |
| Accessor to the number of nodes alive in the group.
|
|
std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | minmaxWaitDurationGroup () const |
| Accessor to the min / max wait duration of the nodes in the group.
|
|
std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | meanSDWaitDurationGroup () const |
| Accessor to the mean / standard deviation wait duration of the nodes in the group.
|
|
std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | minmaxExecutionDurationGroup () const |
| Accessor to the min / max execution duration of the nodes in the group.
|
|
std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | meanSDExecutionDurationGroup () const |
| Accessor to the mean / standard deviation execution duration of the nodes in the group.
|
|
std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | minmaxExecTimePerElementGroup () const |
| Accessor to the min / max execution per elements duration of the nodes in the group.
|
|
std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | meanSDExecTimePerElementGroup () const |
| Accessor to the mean / standard deviation execution per elements duration of the nodes in the group.
|
|
std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | minmaxMemoryWaitTimeGroup () const |
| Accessor to the min / max wait time duration of the nodes in the group.
|
|
std::pair< std::chrono::nanoseconds, std::chrono::nanoseconds > | meanSDMemoryWaitTimePerElementGroup () const |
| Accessor to the mean / standard deviation wait time duration of the nodes in the group.
|
|
std::pair< size_t, size_t > | minmaxNumberElementsReceivedGroup () const |
| Accessor to the min / max number of elements received in the group.
|
|
std::pair< double, double > | meanSDNumberElementsReceivedGroup () const |
| Accessor to the mean / standard deviation number of elements received in the group.
|
|
virtual void | createGroup (std::map< NodeAbstraction *, std::vector< NodeAbstraction * > > &)=0 |
| Create a group to insert in the map.
|
|
template<tool::CopyableNode CopyableNode, class CopyableCore>
class hh::core::abstraction::GroupableAbstraction< CopyableNode, CopyableCore >
Typed abstraction for groupable node.
- Template Parameters
-
CopyableNode | Type of the node to copy and group |
CopyableCore | Type of the core to copy and group |
Definition at line 40 of file groupable_abstraction.h.