39 #include "Tpetra_Details_DistributorActor.hpp"
40 #include "Teuchos_TimeMonitor.hpp"
45 DistributorActor::DistributorActor() {
46 #ifdef HAVE_TPETRA_DISTRIBUTOR_TIMINGS
51 DistributorActor::DistributorActor(
const DistributorActor& otherActor)
52 : requests_(otherActor.requests_)
54 #ifdef HAVE_TPETRA_DISTRIBUTOR_TIMINGS
59 void DistributorActor::doWaits(
const DistributorPlan& plan) {
60 #ifdef HAVE_TPETRA_DISTRIBUTOR_TIMINGS
61 Teuchos::TimeMonitor timeMon (*timer_doWaits_);
64 if (requests_.size() > 0) {
65 Teuchos::waitAll(*plan.getComm(), requests_());
73 #ifdef HAVE_TPETRA_DISTRIBUTOR_TIMINGS
74 void DistributorActor::makeTimers () {
75 timer_doWaits_ = Teuchos::TimeMonitor::getNewTimer (
76 "Tpetra::Distributor: doWaits");
78 timer_doPosts3KV_ = Teuchos::TimeMonitor::getNewTimer (
79 "Tpetra::Distributor: doPosts(3) KV");
80 timer_doPosts4KV_ = Teuchos::TimeMonitor::getNewTimer (
81 "Tpetra::Distributor: doPosts(4) KV");
83 timer_doPosts3KV_recvs_ = Teuchos::TimeMonitor::getNewTimer (
84 "Tpetra::Distributor: doPosts(3): recvs KV");
85 timer_doPosts4KV_recvs_ = Teuchos::TimeMonitor::getNewTimer (
86 "Tpetra::Distributor: doPosts(4): recvs KV");
88 timer_doPosts3KV_barrier_ = Teuchos::TimeMonitor::getNewTimer (
89 "Tpetra::Distributor: doPosts(3): barrier KV");
90 timer_doPosts4KV_barrier_ = Teuchos::TimeMonitor::getNewTimer (
91 "Tpetra::Distributor: doPosts(4): barrier KV");
93 timer_doPosts3KV_sends_ = Teuchos::TimeMonitor::getNewTimer (
94 "Tpetra::Distributor: doPosts(3): sends KV");
95 timer_doPosts4KV_sends_ = Teuchos::TimeMonitor::getNewTimer (
96 "Tpetra::Distributor: doPosts(4): sends KV");
97 timer_doPosts3KV_sends_slow_ = Teuchos::TimeMonitor::getNewTimer (
98 "Tpetra::Distributor: doPosts(3): sends KV SLOW");
99 timer_doPosts4KV_sends_slow_ = Teuchos::TimeMonitor::getNewTimer (
100 "Tpetra::Distributor: doPosts(4): sends KV SLOW");
101 timer_doPosts3KV_sends_fast_ = Teuchos::TimeMonitor::getNewTimer (
102 "Tpetra::Distributor: doPosts(3): sends KV FAST");
103 timer_doPosts4KV_sends_fast_ = Teuchos::TimeMonitor::getNewTimer (
104 "Tpetra::Distributor: doPosts(4): sends KV FAST");
Implementation details of Tpetra.
Namespace Tpetra contains the class and methods constituting the Tpetra library.