Hermes
0.9.5-beta
Hierarchical Distributed I/O Buffering System
|
#include <communication.h>
Public Attributes | |
BarrierFunc | world_barrier |
BarrierFunc | sub_barrier |
FinalizeFunc | finalize |
void * | state |
i32 | world_proc_id |
i32 | sub_proc_id |
i32 | world_size |
i32 | hermes_size |
i32 | app_size |
i32 | num_nodes |
i32 | node_id |
ProcessKind | proc_kind |
bool | first_on_node |
A structure to represent MPI communication context
BarrierFunc hermes::CommunicationContext::world_barrier |
MPI communication world barrier
BarrierFunc hermes::CommunicationContext::sub_barrier |
MPI communication subset barrier
FinalizeFunc hermes::CommunicationContext::finalize |
MPI communication finalize
void* hermes::CommunicationContext::state |
Details relative to the backing communciation implementation.
i32 hermes::CommunicationContext::world_proc_id |
A unique identifier for each rank, relative to all ranks.
i32 hermes::CommunicationContext::sub_proc_id |
a unique identifier for each rank, releative to each ProcessKind.
i32 hermes::CommunicationContext::world_size |
The total number of ranks.
i32 hermes::CommunicationContext::hermes_size |
The total number of Hermes cores. Currently this is only defined on ranks that have ProcessKind::kHermes
i32 hermes::CommunicationContext::app_size |
The total number of application cores. Currently this is only defined on ranks that have ProcessKind::kApp
i32 hermes::CommunicationContext::num_nodes |
The total number of nodes.
i32 hermes::CommunicationContext::node_id |
A unique index for each node. Starts at 1, not 0.
ProcessKind hermes::CommunicationContext::proc_kind |
Distinguishes between Hermes ranks and application ranks.
bool hermes::CommunicationContext::first_on_node |
True if this rank is the lowest numbered rank on the current node. Lowest is not relative to all ranks, but to each ProcessKind. This is useful for operations that only need to happen once per node.