#include <TimingPool.h>
|
std::map< std::string, Timer< TP > > | timerMap_ |
|
void | mpiReduce (std::vector< double > &min, std::vector< double > &max, std::vector< double > &val, std::vector< double > &valSq, std::vector< uint32_t > &count, int targetRank, shared_ptr< TimingPool< TP > > &out) const |
| Executes an mpi reduction of the given vectors, and stores the result in a new TimingPool. More...
|
|
◆ const_iterator
◆ iterator
◆ TimingPool()
◆ begin() [1/2]
◆ begin() [2/2]
◆ clear()
◆ empty()
◆ end() [1/2]
◆ end() [2/2]
◆ getReduced()
Returns a reduced TimingPool, holding information from all processes.
This function has to be called on all processes. The TimingPool has to have the same number of timers on each processor, and the timers have to have the same name.
- Parameters
-
rt | Specified the method how the reduction is done. See documentation for ReduceType |
targetRank | the world rank of the target process. Or negative value for an all-reduction operation |
- Returns
- a nonzero shared pointer to a timing pool on the process with rank "targetRank" and a zero pointer otherwise. If targetRank < 0, a valid pointer is returned on all processes (MPI_Allreduce operation)
◆ getScopeTimer()
◆ logResultOnRoot()
Reduces the timing pool, and logs reduced result on root.
Has to be called by all processes, not just on root process.
◆ merge()
Merges a second TimingPool into this TimingPool.
- Parameters
-
tpToMerge | the second TimingPool, which is merged |
mergeDuplicates | parameter has an effect when both TimingPool's have Timers with same name if true: the timers with the same name are merged together if false: the timer in this TimingPool is not changed, the content of the second timer with the same name is neglected |
◆ mpiReduce()
template<typename TP >
void walberla::timing::TimingPool< TP >::mpiReduce |
( |
std::vector< double > & |
min, |
|
|
std::vector< double > & |
max, |
|
|
std::vector< double > & |
val, |
|
|
std::vector< double > & |
valSq, |
|
|
std::vector< uint32_t > & |
count, |
|
|
int |
targetRank, |
|
|
shared_ptr< TimingPool< TP > > & |
out |
|
) |
| const |
|
protected |
Executes an mpi reduction of the given vectors, and stores the result in a new TimingPool.
◆ operator[]() [1/2]
◆ operator[]() [2/2]
◆ print()
Prints the timing pool to the given ostream.
No reduction is done!
If the result of all processes should be printed, first a reduction has to be done:
tp.print(cout);
shared_ptr< WcTimingPool> reduced = tp.getReduced(
REDUCE_TOTAL, 0);
reduced->print(cout);
}
◆ printCSV()
Prints the TimingPool in a format that can be read by MATLAB for plotting.
◆ printMatlab()
Prints the TimingPool in a format that can be read by MATLAB for plotting.
◆ registerTimer()
◆ timerExists()
◆ unifyRegisteredTimersAcrossProcesses()
Ensures that on each process the same timers (= timers with identical names) are registered.
Has to be called by all processes, not just on root process.
◆ operator<<
template<typename TP >
template<typename T , typename G , typename TP2 >
◆ operator>>
template<typename TP >
template<typename T , typename TP2 >
◆ timerMap_
The documentation for this class was generated from the following files:
- /builds/administration/walberla-website/walberla/src/core/timing/TimingPool.h
- /builds/administration/walberla-website/walberla/src/core/timing/TimingPool.cpp