10#ifndef TEUCHOS_COMM_UTILTIES_HPP
11#define TEUCHOS_COMM_UTILTIES_HPP
14#if defined(HAVE_TEUCHOS_KOKKOS_PROFILING) && defined(HAVE_TEUCHOSCORE_KOKKOS)
15#include "Kokkos_Profiling_ScopedRegion.hpp"
18#ifdef HAVE_TEUCHOS_COMM_TIMERS
20#define TEUCHOS_COMM_TIME_MONITOR( FUNCNAME ) \
21 TEUCHOS_FUNC_TIME_MONITOR( FUNCNAME )
25#if defined(HAVE_TEUCHOS_KOKKOS_PROFILING) && defined(HAVE_TEUCHOSCORE_KOKKOS)
27#define TEUCHOS_COMM_TIME_MONITOR( FUNCNAME ) \
28 std::ostringstream TEUCHOS_COMM_TIME_MONITOR_oss; \
29 TEUCHOS_COMM_TIME_MONITOR_oss << FUNCNAME; \
30 ::Kokkos::Profiling::ScopedRegion TEUCHOS_COMM_TIME_MONITOR_scopedRegion( TEUCHOS_COMM_TIME_MONITOR_oss.str().c_str() )
34#define TEUCHOS_COMM_TIME_MONITOR( FUNCNAME )
Scope guard for Teuchos::Time, with MPI collective timer reporting.