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.
|
#include "timemory/components/ompt/tool.hpp"
Classes | |
struct | device_load_tag |
struct | device_state_tag |
struct | mutex_tag |
struct | nest_lock_tag |
struct | task_tag |
Public Types | |
using | api_type = Api |
template<typename KeyT , typename MappedT , typename HashT = std::hash<KeyT>> | |
using | uomap_t = std::unordered_map< KeyT, MappedT, HashT > |
using | data_map_t = uomap_t< uint64_t, ompt_data_t * > |
Public Member Functions | |
context_handler (ompt_thread_t thread_type, ompt_data_t *thread_data) | |
context_handler (ompt_data_t *thread_data) | |
context_handler (ompt_data_t *task_data, const ompt_frame_t *task_frame, ompt_data_t *parallel_data, unsigned int requested_parallelism, int flags, const void *codeptr) | |
context_handler (ompt_data_t *parallel_data, ompt_data_t *task_data, int flags, const void *codeptr) | |
context_handler (ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr) | |
context_handler (ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, unsigned int team_size, unsigned int thread_num) | |
context_handler (ompt_sync_region_t kind, ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, const void *codeptr) | |
context_handler (ompt_mutex_t kind, unsigned int hint, unsigned int impl, ompt_wait_id_t wait_id, const void *codeptr) | |
context_handler (ompt_mutex_t kind, ompt_wait_id_t wait_id, const void *codeptr) | |
context_handler (ompt_scope_endpoint_t endpoint, ompt_wait_id_t wait_id, const void *codeptr) | |
context_handler (ompt_data_t *task_data, const ompt_frame_t *task_frame, ompt_data_t *new_task_data, int flags, int has_dependences, const void *codeptr) | |
context_handler (ompt_data_t *prior_task_data, ompt_task_status_t prior_task_status, ompt_data_t *next_task_data) | |
context_handler (ompt_data_t *parallel_data, ompt_data_t *task_data, ompt_dispatch_t kind, ompt_data_t instance) | |
context_handler (ompt_work_t wstype, ompt_scope_endpoint_t endpoint, ompt_data_t *parallel_data, ompt_data_t *task_data, uint64_t count, const void *codeptr) | |
context_handler (ompt_data_t *thread_data, const void *codeptr) | |
context_handler (ompt_data_t *thread_data, int flags, const void *codeptr) | |
context_handler (ompt_target_t kind, ompt_scope_endpoint_t endpoint, int device_num, ompt_data_t *task_data, ompt_id_t target_id, const void *codeptr) | |
context_handler (ompt_id_t target_id, ompt_id_t host_op_id, ompt_target_data_op_t optype, void *src_addr, int src_device_num, void *dest_addr, int dest_device_num, size_t bytes, const void *codeptr) | |
context_handler (ompt_id_t target_id, ompt_id_t host_op_id, unsigned int requested_num_teams) | |
context_handler (ompt_id_t target_id, unsigned int nitems, void **host_addr, void **device_addr, size_t *bytes, unsigned int *mapping_flags) | |
context_handler (uint64_t device_num, const char *type, ompt_device_t *device, ompt_function_lookup_t lookup, const char *documentation) | |
context_handler (uint64_t device_num) | |
context_handler (uint64_t device_num, const char *filename, int64_t offset_in_file, void *vma_in_file, size_t bytes, void *host_addr, void *device_addr, uint64_t module_id) | |
context_handler (uint64_t device_num, uint64_t module_id) | |
~context_handler () | |
bool | empty () const |
const std::string & | key () const |
ompt_data_t * | data (size_t idx=0) const |
template<size_t Idx, typename Tp , typename Func = std::function<void(Tp*)>> | |
auto | construct (Func &&f=[](Tp *) {}) -> decltype(new Tp(std::declval< std::string >()), void()) |
template<typename Tp , typename Func = std::function<void(Tp*)>> | |
auto | construct (Func &&f=[](Tp *) {}) |
template<size_t Idx, typename Tp , typename Func = std::function<void(Tp*)>> | |
auto | destroy (Func &&f=[](Tp *) {}) |
template<typename Tp , typename Func = std::function<void(Tp*)>> | |
auto | destroy (Func &&f=[](Tp *) {}) |
auto | construct_data (bool _cleanup=false) |
Static Public Member Functions | |
template<typename Tag , typename KeyT = uint64_t, typename MappedT = ompt_data_t*, typename MapT = uomap_t<KeyT, MappedT>> | |
static auto & | get_data () |
Static Public Attributes | |
static constexpr size_t | size = 2 |
Static Protected Member Functions | |
static uint64_t & | get_counter () |
Protected Attributes | |
std::string | m_key = "" |
std::array< ompt_data_t *, size > | m_data |
std::function< void()> | m_cleanup = [] {} |
Friends | |
template<typename Ct , typename At > | |
struct | callback_connector |
struct tim::openmp::context_handler::device_load_tag |
struct tim::openmp::context_handler::device_state_tag |
struct tim::openmp::context_handler::mutex_tag |
struct tim::openmp::context_handler::nest_lock_tag |
struct tim::openmp::context_handler::task_tag |
using tim::openmp::context_handler< Api >::api_type = Api |
using tim::openmp::context_handler< Api >::data_map_t = uomap_t<uint64_t, ompt_data_t*> |
using tim::openmp::context_handler< Api >::uomap_t = std::unordered_map<KeyT, MappedT, HashT> |
|
inline |
Definition at line 259 of file tool.hpp.
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 297 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
Definition at line 309 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
Definition at line 322 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
Definition at line 335 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 430 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
|
inline |
|
inline |
Definition at line 463 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
Definition at line 476 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
|
inline |
|
inline |
Definition at line 512 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
|
inline |
Definition at line 537 of file tool.hpp.
References tim::openmp::context_handler< Api >::construct_data().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Definition at line 620 of file tool.hpp.
References tim::openmp::context_handler< Api >::m_cleanup.
Referenced by tim::openmp::context_handler< Api >::context_handler().
|
inline |
Definition at line 575 of file tool.hpp.
References tim::openmp::context_handler< Api >::m_data, and tim::openmp::context_handler< Api >::size.
|
inline |
|
inline |
|
inline |
Definition at line 568 of file tool.hpp.
References tim::openmp::context_handler< Api >::m_data, and tim::openmp::context_handler< Api >::m_key.
Referenced by tim::openmp::callback_connector< Components, Api >::callback_connector(), and tim::openmp::callback_connector< Components, Api >::generic_endpoint_connector().
|
inlinestaticprotected |
|
inline |
|
friend |
|
protected |
Definition at line 631 of file tool.hpp.
Referenced by tim::openmp::context_handler< Api >::~context_handler(), and tim::openmp::context_handler< Api >::construct_data().
|
protected |
Definition at line 630 of file tool.hpp.
Referenced by tim::openmp::context_handler< Api >::data(), and tim::openmp::context_handler< Api >::empty().
|
protected |
Definition at line 629 of file tool.hpp.
Referenced by tim::openmp::callback_connector< Components, Api >::callback_connector(), tim::openmp::context_handler< Api >::empty(), tim::openmp::callback_connector< Components, Api >::generic_endpoint_connector(), and tim::openmp::context_handler< Api >::key().
|
staticconstexpr |
Definition at line 566 of file tool.hpp.
Referenced by tim::openmp::context_handler< Api >::data().