Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
comm
test
TimeMonitor
TimeMonitor_Issue3868.cpp
Go to the documentation of this file.
1
// @HEADER
2
// @HEADER
3
4
#include "
Teuchos_UnitTestHarness.hpp
"
5
#include "
Teuchos_TimeMonitor.hpp
"
6
#include "
Teuchos_DefaultComm.hpp
"
7
#include "
Teuchos_CommHelpers.hpp
"
8
#ifdef HAVE_TEUCHOS_MPI
9
# include "
Teuchos_DefaultMpiComm.hpp
"
10
#endif
// HAVE_TEUCHOS_MPI
11
12
TEUCHOS_UNIT_TEST
(
TimeMonitor
, Issue3868) {
13
using
Teuchos::TimeMonitor
;
14
using
Teuchos::Comm
;
15
using
Teuchos::outArg
;
16
using
Teuchos::RCP
;
17
using
Teuchos::REDUCE_MAX
;
18
using
Teuchos::reduceAll
;
19
20
RCP<const Comm<int>
> comm =
Teuchos::DefaultComm<int>::getComm
();
21
22
const
int
numProcs = comm->getSize ();
23
TEST_ASSERT
( numProcs > 1 );
24
if
(numProcs < 4) {
25
out <<
"This test requires at least 4 MPI processes."
<< std::endl;
26
return
;
27
}
28
29
const
int
myRank = comm->getRank();
30
31
if
(myRank == 3) {
32
Teuchos::TimeMonitor
timer(*
Teuchos::TimeMonitor::getNewTimer
(std::string(
"myTimer"
)));
33
}
34
35
std::ostringstream out1;
36
Teuchos::TimeMonitor::summarize
(out1,
false
,
true
,
false
,
Teuchos::Union
,
""
,
true
);
37
int
test = (out1.str().find(
"myTimer"
) != std::string::npos);
38
39
int
gblTest =
false
;
// output argument
40
reduceAll<int, int> (*comm, REDUCE_MAX, test, outArg (gblTest));
41
TEST_EQUALITY
(gblTest, 1);
42
43
}
Teuchos_CommHelpers.hpp
Teuchos_DefaultComm.hpp
Teuchos_DefaultMpiComm.hpp
Implementation of Teuchos wrappers for MPI.
TEST_ASSERT
#define TEST_ASSERT(v1)
Assert the given statement is true.
Definition
Teuchos_LocalTestingHelpers.hpp:71
TEST_EQUALITY
#define TEST_EQUALITY(v1, v2)
Assert the equality of v1 and v2.
Definition
Teuchos_LocalTestingHelpers.hpp:87
Teuchos_TimeMonitor.hpp
Scope guard for Teuchos::Time, with MPI collective timer reporting.
Teuchos_UnitTestHarness.hpp
Unit testing support.
TEUCHOS_UNIT_TEST
#define TEUCHOS_UNIT_TEST(TEST_GROUP, TEST_NAME)
Macro for defining a (non-templated) unit test.
Definition
Teuchos_UnitTestHelpers.hpp:83
RCP
Smart reference counting pointer class for automatic garbage collection.
Definition
Teuchos_RCPDecl.hpp:429
Teuchos::Comm
Abstract interface for distributed-memory communication.
Definition
Teuchos_Comm.hpp:314
Teuchos::Comm::reduceAll
void reduceAll(const Comm< Ordinal > &comm, const ValueTypeReductionOp< Ordinal, Packet > &reductOp, const Ordinal count, const Packet sendBuffer[], Packet globalReducts[])
Wrapper for MPI_Allreduce that takes a custom reduction operator.
Definition
Teuchos_CommHelpers.hpp:1433
Teuchos::DefaultComm::getComm
static Teuchos::RCP< const Comm< OrdinalType > > getComm()
Return the default global communicator.
Definition
Teuchos_DefaultComm.hpp:212
Teuchos::Ptr::outArg
Ptr< T > outArg(T &arg)
create a non-persisting (required or optional) output argument for a function call.
Definition
Teuchos_PtrDecl.hpp:227
Teuchos::RCP
Smart reference counting pointer class for automatic garbage collection.
Definition
Teuchos_RCPDecl.hpp:429
Teuchos::TimeMonitor
Scope guard for Time, that can compute MPI collective timer statistics.
Definition
Teuchos_TimeMonitor.hpp:179
Teuchos::TimeMonitor::summarize
static void summarize(Ptr< const Comm< int > > comm, std::ostream &out=std::cout, const bool alwaysWriteLocal=false, const bool writeGlobalStats=true, const bool writeZeroTimers=true, const ECounterSetOp setOp=Intersection, const std::string &filter="", const bool ignoreZeroTimers=false)
Print summary statistics for all timers on the given communicator.
Definition
Teuchos_TimeMonitor.cpp:925
Teuchos::TimeMonitor::getNewTimer
static RCP< Time > getNewTimer(const std::string &name)
Return a new timer with the given name (class method).
Definition
Teuchos_TimeMonitor.hpp:210
TimeMonitor
Scope guard for Time, that can compute MPI collective timer statistics.
Definition
Teuchos_TimeMonitor.hpp:179
Teuchos::Union
@ Union
Definition
Teuchos_PerformanceMonitorBase.hpp:63
Teuchos::REDUCE_MAX
@ REDUCE_MAX
Max.
Definition
Teuchos_EReductionType.hpp:74
Generated by
1.17.0