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.