timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
tim::component::vtune_profiler Struct Reference

Implements __itt_pause() and __itt_resume() to control where the vtune profiler is active. More...

#include "timemory/components/vtune/components.hpp"

+ Collaboration diagram for tim::component::vtune_profiler:

Public Types

using value_type = void
 
using this_type = vtune_profiler
 
using base_type = base< this_type, value_type >
 
using tracker_type = policy::instance_tracker< vtune_profiler, false >
 
using storage_type = empty_storage
 

Public Member Functions

void start ()
 
void stop ()
 
void get () const
 

Static Public Member Functions

static std::string label ()
 
static std::string description ()
 
static value_type record ()
 
static void global_init ()
 
static void global_finalize ()
 
template<typename... Args>
static opaque get_opaque (Args &&...)
 

Detailed Description

Implements __itt_pause() and __itt_resume() to control where the vtune profiler is active.

Definition at line 156 of file components.hpp.

Member Typedef Documentation

◆ base_type

◆ storage_type

Definition at line 66 of file declaration.hpp.

◆ this_type

◆ tracker_type

◆ value_type

Definition at line 160 of file components.hpp.

Member Function Documentation

◆ description()

static std::string tim::component::vtune_profiler::description ( )
inlinestatic

Definition at line 166 of file components.hpp.

167 {
168 return "Control switch for Intel profiler running on the application";
169 }

◆ get()

void tim::component::empty_base::get ( ) const
inlineinherited

Definition at line 69 of file declaration.hpp.

69{}

◆ get_opaque()

template<typename... Args>
static opaque tim::component::empty_base::get_opaque ( Args &&  ...)
inlinestaticinherited

Definition at line 72 of file declaration.hpp.

73 {
74 return opaque{};
75 }

◆ global_finalize()

static void tim::component::vtune_profiler::global_finalize ( )
inlinestatic

Definition at line 173 of file components.hpp.

173{ ittnotify::pause(); }

◆ global_init()

static void tim::component::vtune_profiler::global_init ( )
inlinestatic

Definition at line 172 of file components.hpp.

172{ ittnotify::pause(); }

◆ label()

static std::string tim::component::vtune_profiler::label ( )
inlinestatic

Definition at line 165 of file components.hpp.

165{ return "vtune_profiler"; }

◆ record()

static value_type tim::component::vtune_profiler::record ( )
inlinestatic

Definition at line 170 of file components.hpp.

170{}

◆ start()

void tim::component::vtune_profiler::start ( )
inline

Definition at line 177 of file components.hpp.

178 {
180
181 if(m_tot == 0)
182 ittnotify::resume();
183 }
void start(TupleT< Tp... > &obj, Args &&... args)
Definition: functional.cpp:316

References tim::invoke::start().

◆ stop()

void tim::component::vtune_profiler::stop ( )
inline

Definition at line 185 of file components.hpp.

186 {
188
189 if(m_tot == 0)
190 ittnotify::pause();
191 }
void stop(TupleT< Tp... > &obj, Args &&... args)
Definition: functional.cpp:386

References tim::invoke::stop().


The documentation for this struct was generated from the following file: