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.
|
Classes | |
struct | kernel_logger |
Typedefs | |
using | memory_tracker = tim::component::data_tracker< int64_t, tim::project::kokkosp > |
using | kokkos_bundle = tim::component::user_kokkosp_bundle |
using | logger_t = tim::component_bundle_t< project::kokkosp, kokkosp::kernel_logger * > |
template<typename... Tail> | |
using | profiler_t = tim::component_bundle_t< project::kokkosp, kokkosp::memory_tracker, Tail... > |
template<typename... Tail> | |
using | profiler_section_t = std::tuple< std::string, profiler_t< Tail... > > |
template<typename... Tail> | |
using | profiler_alloc_t = tim::auto_tuple< kokkosp::memory_tracker, Tail... > |
template<typename... Tail> | |
using | profiler_stack_t = std::vector< profiler_t< Tail... > > |
template<typename... Tail> | |
using | profiler_memory_map_t = std::unordered_map< string_view_t, std::unordered_map< string_view_t, profiler_t< Tail... > > > |
template<typename... Tail> | |
using | profiler_index_map_t = std::unordered_map< uint64_t, profiler_t< Tail... > > |
template<typename... Tail> | |
using | profiler_section_map_t = std::unordered_map< uint64_t, profiler_section_t< Tail... > > |
Enumerations | |
enum | Space { SPACE_HOST , SPACE_CUDA } |
enum | { NSPACES = 2 } |
Functions | |
Space | get_space (const SpaceHandle &handle) |
const char * | get_space_name (int space) |
uint64_t | get_unique_id () |
std::mutex & | get_cleanup_mutex () |
auto & | get_cleanup () |
template<typename Tp > | |
Tp & | get_tl_static () |
template<typename Tp > | |
Tp & | get_static () |
void | cleanup () |
template<typename... Tail> | |
profiler_index_map_t< Tail... > & | get_profiler_index_map () |
template<typename... Tail> | |
profiler_section_map_t< Tail... > & | get_profiler_section_map () |
template<typename... Tail> | |
profiler_memory_map_t< Tail... > & | get_profiler_memory_map () |
template<typename... Tail> | |
auto & | get_profiler_memory_map (SpaceHandle _space) |
template<typename... Tail> | |
profiler_stack_t< Tail... > & | get_profiler_stack () |
template<typename... Tail> | |
void | create_profiler (const std::string &pname, uint64_t kernid) |
template<typename... Tail> | |
void | destroy_profiler (uint64_t kernid) |
template<typename... Tail> | |
void | start_profiler (uint64_t kernid) |
template<typename... Tail> | |
void | stop_profiler (uint64_t kernid) |
using tim::kokkosp::kokkos_bundle = typedef tim::component::user_kokkosp_bundle |
Definition at line 242 of file kokkosp.hpp.
using tim::kokkosp::logger_t = typedef tim::component_bundle_t<project::kokkosp, kokkosp::kernel_logger*> |
Definition at line 244 of file kokkosp.hpp.
using tim::kokkosp::memory_tracker = typedef tim::component::data_tracker<int64_t, tim::project::kokkosp> |
Definition at line 241 of file kokkosp.hpp.
using tim::kokkosp::profiler_alloc_t = typedef tim::auto_tuple<kokkosp::memory_tracker, Tail...> |
Definition at line 254 of file kokkosp.hpp.
using tim::kokkosp::profiler_index_map_t = typedef std::unordered_map<uint64_t, profiler_t<Tail...> > |
Definition at line 266 of file kokkosp.hpp.
using tim::kokkosp::profiler_memory_map_t = typedef std::unordered_map<string_view_t, std::unordered_map<string_view_t, profiler_t<Tail...> >> |
Definition at line 261 of file kokkosp.hpp.
using tim::kokkosp::profiler_section_map_t = typedef std::unordered_map<uint64_t, profiler_section_t<Tail...> > |
Definition at line 269 of file kokkosp.hpp.
using tim::kokkosp::profiler_section_t = typedef std::tuple<std::string, profiler_t<Tail...> > |
Definition at line 251 of file kokkosp.hpp.
using tim::kokkosp::profiler_stack_t = typedef std::vector<profiler_t<Tail...> > |
Definition at line 258 of file kokkosp.hpp.
using tim::kokkosp::profiler_t = typedef tim::component_bundle_t<project::kokkosp, kokkosp::memory_tracker, Tail...> |
Definition at line 247 of file kokkosp.hpp.
anonymous enum |
Enumerator | |
---|---|
NSPACES |
Definition at line 85 of file kokkosp.hpp.
enum tim::kokkosp::Space |
|
inline |
Definition at line 187 of file kokkosp.hpp.
References get_cleanup(), and get_cleanup_mutex().
Referenced by kokkosp_finalize_library().
|
inline |
Definition at line 320 of file kokkosp.hpp.
References get_profiler_index_map().
|
inline |
Definition at line 329 of file kokkosp.hpp.
References get_profiler_index_map().
|
inline |
Definition at line 139 of file kokkosp.hpp.
Referenced by cleanup(), get_static(), and get_tl_static().
|
inline |
Definition at line 130 of file kokkosp.hpp.
Referenced by cleanup(), get_static(), and get_tl_static().
|
inline |
Definition at line 275 of file kokkosp.hpp.
References get_tl_static().
Referenced by create_profiler(), destroy_profiler(), start_profiler(), and stop_profiler().
|
inline |
Definition at line 293 of file kokkosp.hpp.
References get_tl_static().
Referenced by get_profiler_memory_map().
|
inline |
Definition at line 302 of file kokkosp.hpp.
References get_profiler_memory_map().
|
inline |
Definition at line 284 of file kokkosp.hpp.
References get_tl_static().
|
inline |
Definition at line 311 of file kokkosp.hpp.
References get_tl_static().
|
inline |
|
inline |
|
inline |
Definition at line 169 of file kokkosp.hpp.
References tim::consume_parameters(), get_cleanup(), and get_cleanup_mutex().
|
inline |
Definition at line 149 of file kokkosp.hpp.
References tim::consume_parameters(), get_cleanup(), and get_cleanup_mutex().
Referenced by get_profiler_index_map(), get_profiler_memory_map(), get_profiler_section_map(), and get_profiler_stack().
|
inline |
Definition at line 121 of file kokkosp.hpp.
Referenced by kokkosp_begin_fence(), kokkosp_begin_parallel_for(), kokkosp_begin_parallel_reduce(), kokkosp_begin_parallel_scan(), and kokkosp_create_profile_section().
|
inline |
Definition at line 340 of file kokkosp.hpp.
References tim::at(), and get_profiler_index_map().
|
inline |