#include <Teuchos_PerformanceMonitorUtils.hpp>
Static Public Member Functions | |
| static void | synchNames (const MPIComm &comm, const Array< std::string > &localNames, Array< std::string > &allNames) |
| Synchronizes lists of metric names (e.g., timer names) across processors. This is necessary because some functions may not have been invoked on some processors, so that their named timers/counters aren't created on that processor. This function does a set union of all names created on all processors. It is called by synchValues(). | |
| static void | synchValues (const MPIComm &comm, const Array< std::string > &localNames, const Array< Array< double > > &localValues, Array< std::string > &allNames, Array< Array< double > > &allValues) |
| Creates zero values for metrics absent on this processor but present on other processors. This function uses a call to synchNames() to inform this processor of the existence of other metrics on other processors. | |
| static void | reduce (const MPIComm &comm, const EMetricReduction &reductionType, const Array< double > &localVals, Array< double > &reducedVals) |
| Compute reduced performance metrics across processors, for example, min, max, or total times or flop counts. | |
Definition at line 56 of file Teuchos_PerformanceMonitorUtils.hpp.
| void PerformanceMonitorUtils::reduce | ( | const MPIComm & | comm, | |
| const EMetricReduction & | reductionType, | |||
| const Array< double > & | localVals, | |||
| Array< double > & | reducedVals | |||
| ) | [static] |
Compute reduced performance metrics across processors, for example, min, max, or total times or flop counts.
| comm | [in] The MPIComm object representing the communicator on which the reduction is to be done. | |
| reductionType | [in] the reduction operation to be performed | |
| localVals | [in] The metrics on this processor (after synchronization through a call to synchValues()) | |
| reducedVals | [out] The reduced metrics |
Definition at line 125 of file Teuchos_PerformanceMonitorUtils.cpp.
| void PerformanceMonitorUtils::synchNames | ( | const MPIComm & | comm, | |
| const Array< std::string > & | localNames, | |||
| Array< std::string > & | allNames | |||
| ) | [static] |
Synchronizes lists of metric names (e.g., timer names) across processors. This is necessary because some functions may not have been invoked on some processors, so that their named timers/counters aren't created on that processor. This function does a set union of all names created on all processors. It is called by synchValues().
| comm | [in] the communicator over which name lists are being synchronized | |
| localNames | [in] the names appearing on the local processor | |
| allNames | [out] the set union of name lists from all processors |
Definition at line 36 of file Teuchos_PerformanceMonitorUtils.cpp.
| void PerformanceMonitorUtils::synchValues | ( | const MPIComm & | comm, | |
| const Array< std::string > & | localNames, | |||
| const Array< Array< double > > & | localValues, | |||
| Array< std::string > & | allNames, | |||
| Array< Array< double > > & | allValues | |||
| ) | [static] |
Creates zero values for metrics absent on this processor but present on other processors. This function uses a call to synchNames() to inform this processor of the existence of other metrics on other processors.
| comm | [in] the communicator over which name lists are being synchronized | |
| localNames | [in] the names appearing on the local processor | |
| localValues | [in] the values appearing on the local processor | |
| allNames | [out] the set union of name lists from all processors | |
| allValues | [out] the metric values from all processors |
Definition at line 77 of file Teuchos_PerformanceMonitorUtils.cpp.
1.5.9