Builds lists and maps that help in knowing which physical hardware nodes each rank is on. More...
#include <RankMap.h>
Public Member Functions | |
RankMap (const Parallel::Communicator &comm, PerfGraph &perf_graph) | |
Constructs and fills the map. More... | |
unsigned int | hardwareID (processor_id_type pid) const |
Returns the "hardware ID" (a unique ID given to each physical compute node in the job) for a given processor ID (rank) More... | |
const std::vector< processor_id_type > & | ranks (unsigned int hardware_id) const |
Returns the ranks that are on the given hardwareID (phsical node in the job) More... | |
const std::vector< unsigned int > & | rankHardwareIds () const |
Vector containing the hardware ID for each PID. More... | |
Protected Attributes | |
std::unordered_map< unsigned int, std::vector< processor_id_type > > | _hardware_id_to_ranks |
Map of hardware_id -> ranks on that node. More... | |
std::vector< unsigned int > | _rank_to_hardware_id |
Each entry corresponds to the hardware_id for that PID. More... | |
Private Member Functions | |
PerfGraph & | perfGraph () |
Get the PerfGraph. More... | |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level) const |
Call to register a named section for timing. More... | |
PerfID | registerTimedSection (const std::string §ion_name, const unsigned int level, const std::string &live_message, const bool print_dots=true) const |
Call to register a named section for timing. More... | |
std::string | timedSectionName (const std::string §ion_name) const |
Static Private Member Functions | |
static InputParameters | validParams () |
Private Attributes | |
MooseApp & | _pg_moose_app |
The MooseApp that owns the PerfGraph. More... | |
const std::string | _prefix |
A prefix to use for all sections. More... | |
Builds lists and maps that help in knowing which physical hardware nodes each rank is on.
Note: large chunks of this code were originally committed by in PR #12351
RankMap::RankMap | ( | const Parallel::Communicator & | comm, |
PerfGraph & | perf_graph | ||
) |
Constructs and fills the map.
Definition at line 17 of file RankMap.C.
|
inline |
Returns the "hardware ID" (a unique ID given to each physical compute node in the job) for a given processor ID (rank)
Definition at line 35 of file RankMap.h.
Referenced by HardwareIDAux::computeValue().
|
inherited |
Get the PerfGraph.
Definition at line 78 of file PerfGraphInterface.C.
Referenced by CommonOutputAction::act(), PerfGraphData::finalize(), and PerfGraphOutput::output().
|
inline |
Vector containing the hardware ID for each PID.
Definition at line 56 of file RankMap.h.
|
inline |
Returns the ranks that are on the given hardwareID (phsical node in the job)
Definition at line 44 of file RankMap.h.
|
protectedinherited |
Call to register a named section for timing.
section_name | The name of the code section to be timed |
level | The importance of the timer - lower is more important (0 will always come out) |
Definition at line 53 of file PerfGraphInterface.C.
|
protectedinherited |
Call to register a named section for timing.
section_name | The name of the code section to be timed |
level | The importance of the timer - lower is more important (0 will always come out) |
live_message | The message to be printed to the screen during execution |
print_dots | Whether or not progress dots should be printed for this section |
Definition at line 64 of file PerfGraphInterface.C.
|
protectedinherited |
section_name
.Optionally adds a prefix if one is defined.
Definition at line 47 of file PerfGraphInterface.C.
Referenced by PerfGraphInterface::registerTimedSection().
|
staticinherited |
Definition at line 16 of file PerfGraphInterface.C.
|
protected |
|
protectedinherited |
The MooseApp that owns the PerfGraph.
Definition at line 124 of file PerfGraphInterface.h.
Referenced by PerfGraphInterface::perfGraph().
|
protectedinherited |
A prefix to use for all sections.
Definition at line 127 of file PerfGraphInterface.h.
Referenced by PerfGraphInterface::timedSectionName().
|
protected |
Each entry corresponds to the hardware_id for that PID.
Definition at line 63 of file RankMap.h.
Referenced by hardwareID(), rankHardwareIds(), and RankMap().