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/api.hpp"
#include "timemory/compat/macros.h"
#include "timemory/components/data_tracker/components.hpp"
#include "timemory/components/user_bundle/types.hpp"
#include "timemory/variadic/component_bundle.hpp"
#include <cstdint>
#include <functional>
#include <map>
#include <mutex>
#include <string>
#include <tuple>
#include <unordered_map>
#include <vector>
Go to the source code of this file.
Classes | |
struct | tim::kokkosp::kernel_logger |
Namespaces | |
namespace | tim |
namespace | tim::kokkosp |
Macros | |
#define | TIMEMORY_KOKKOSP_PREFIX |
#define | TIMEMORY_KOKKOSP_POSTFIX TIMEMORY_VISIBILITY("default") |
Typedefs | |
using | tim::kokkosp::memory_tracker = tim::component::data_tracker< int64_t, tim::project::kokkosp > |
using | tim::kokkosp::kokkos_bundle = tim::component::user_kokkosp_bundle |
using | tim::kokkosp::logger_t = tim::component_bundle_t< project::kokkosp, kokkosp::kernel_logger * > |
template<typename... Tail> | |
using | tim::kokkosp::profiler_t = tim::component_bundle_t< project::kokkosp, kokkosp::memory_tracker, Tail... > |
template<typename... Tail> | |
using | tim::kokkosp::profiler_section_t = std::tuple< std::string, profiler_t< Tail... > > |
template<typename... Tail> | |
using | tim::kokkosp::profiler_alloc_t = tim::auto_tuple< kokkosp::memory_tracker, Tail... > |
template<typename... Tail> | |
using | tim::kokkosp::profiler_stack_t = std::vector< profiler_t< Tail... > > |
template<typename... Tail> | |
using | tim::kokkosp::profiler_memory_map_t = std::unordered_map< string_view_t, std::unordered_map< string_view_t, profiler_t< Tail... > > > |
template<typename... Tail> | |
using | tim::kokkosp::profiler_index_map_t = std::unordered_map< uint64_t, profiler_t< Tail... > > |
template<typename... Tail> | |
using | tim::kokkosp::profiler_section_map_t = std::unordered_map< uint64_t, profiler_section_t< Tail... > > |
Enumerations | |
enum | tim::kokkosp::Space { tim::kokkosp::SPACE_HOST , tim::kokkosp::SPACE_CUDA } |
enum | { tim::kokkosp::NSPACES = 2 } |
Functions | |
Space | tim::kokkosp::get_space (const SpaceHandle &handle) |
const char * | tim::kokkosp::get_space_name (int space) |
uint64_t | tim::kokkosp::get_unique_id () |
std::mutex & | tim::kokkosp::get_cleanup_mutex () |
auto & | tim::kokkosp::get_cleanup () |
template<typename Tp > | |
Tp & | tim::kokkosp::get_tl_static () |
template<typename Tp > | |
Tp & | tim::kokkosp::get_static () |
void | tim::kokkosp::cleanup () |
template<typename... Tail> | |
profiler_index_map_t< Tail... > & | tim::kokkosp::get_profiler_index_map () |
template<typename... Tail> | |
profiler_section_map_t< Tail... > & | tim::kokkosp::get_profiler_section_map () |
template<typename... Tail> | |
profiler_memory_map_t< Tail... > & | tim::kokkosp::get_profiler_memory_map () |
template<typename... Tail> | |
auto & | tim::kokkosp::get_profiler_memory_map (SpaceHandle _space) |
template<typename... Tail> | |
profiler_stack_t< Tail... > & | tim::kokkosp::get_profiler_stack () |
template<typename... Tail> | |
void | tim::kokkosp::create_profiler (const std::string &pname, uint64_t kernid) |
template<typename... Tail> | |
void | tim::kokkosp::destroy_profiler (uint64_t kernid) |
template<typename... Tail> | |
void | tim::kokkosp::start_profiler (uint64_t kernid) |
template<typename... Tail> | |
void | tim::kokkosp::stop_profiler (uint64_t kernid) |
TIMEMORY_DEFINE_CONCRETE_TRAIT (uses_memory_units, kokkosp::memory_tracker, std::true_type) TIMEMORY_DEFINE_CONCRETE_TRAIT(is_memory_category | |
std::true_type void | kokkosp_print_help (char *argv0) |
void | kokkosp_parse_args (int argc, char **argv) |
void | kokkosp_declare_metadata (const char *key, const char *value) |
void | kokkosp_init_library (const int loadSeq, const uint64_t interfaceVer, const uint32_t devInfoCount, void *deviceInfo) |
void | kokkosp_finalize_library () |
void | kokkosp_begin_parallel_for (const char *name, uint32_t devid, uint64_t *kernid) |
void | kokkosp_end_parallel_for (uint64_t kernid) |
void | kokkosp_begin_parallel_reduce (const char *name, uint32_t devid, uint64_t *kernid) |
void | kokkosp_end_parallel_reduce (uint64_t kernid) |
void | kokkosp_begin_parallel_scan (const char *name, uint32_t devid, uint64_t *kernid) |
void | kokkosp_end_parallel_scan (uint64_t kernid) |
void | kokkosp_begin_fence (const char *name, uint32_t devid, uint64_t *kernid) |
void | kokkosp_end_fence (uint64_t kernid) |
void | kokkosp_push_profile_region (const char *name) |
void | kokkosp_pop_profile_region () |
void | kokkosp_create_profile_section (const char *name, uint32_t *secid) |
void | kokkosp_destroy_profile_section (uint32_t secid) |
void | kokkosp_start_profile_section (uint32_t secid) |
void | kokkosp_stop_profile_section (uint32_t secid) |
void | kokkosp_allocate_data (const SpaceHandle space, const char *label, const void *const ptr, const uint64_t size) |
void | kokkosp_deallocate_data (const SpaceHandle space, const char *label, const void *const ptr, const uint64_t size) |
void | kokkosp_begin_deep_copy (SpaceHandle dst_handle, const char *dst_name, const void *dst_ptr, SpaceHandle src_handle, const char *src_name, const void *src_ptr, uint64_t size) |
void | kokkosp_end_deep_copy () |
void | kokkosp_profile_event (const char *name) |
#define TIMEMORY_KOKKOSP_POSTFIX TIMEMORY_VISIBILITY("default") |
Definition at line 55 of file kokkosp.hpp.
#define TIMEMORY_KOKKOSP_PREFIX |
Definition at line 46 of file kokkosp.hpp.
void kokkosp_allocate_data | ( | const SpaceHandle | space, |
const char * | label, | ||
const void *const | ptr, | ||
const uint64_t | size | ||
) |
Definition at line 309 of file kokkosp.cpp.
References TIMEMORY_JOIN.
void kokkosp_begin_deep_copy | ( | SpaceHandle | dst_handle, |
const char * | dst_name, | ||
const void * | dst_ptr, | ||
SpaceHandle | src_handle, | ||
const char * | src_name, | ||
const void * | src_ptr, | ||
uint64_t | size | ||
) |
void kokkosp_begin_fence | ( | const char * | name, |
uint32_t | devid, | ||
uint64_t * | kernid | ||
) |
Definition at line 241 of file kokkosp.cpp.
References tim::kokkosp::get_unique_id(), std::max(), and TIMEMORY_JOIN.
void kokkosp_begin_parallel_for | ( | const char * | name, |
uint32_t | devid, | ||
uint64_t * | kernid | ||
) |
Definition at line 178 of file kokkosp.cpp.
References tim::kokkosp::get_unique_id(), std::max(), and TIMEMORY_JOIN.
void kokkosp_begin_parallel_reduce | ( | const char * | name, |
uint32_t | devid, | ||
uint64_t * | kernid | ||
) |
Definition at line 199 of file kokkosp.cpp.
References tim::kokkosp::get_unique_id(), std::max(), and TIMEMORY_JOIN.
void kokkosp_begin_parallel_scan | ( | const char * | name, |
uint32_t | devid, | ||
uint64_t * | kernid | ||
) |
Definition at line 220 of file kokkosp.cpp.
References tim::kokkosp::get_unique_id(), std::max(), and TIMEMORY_JOIN.
void kokkosp_create_profile_section | ( | const char * | name, |
uint32_t * | secid | ||
) |
Definition at line 281 of file kokkosp.cpp.
References tim::kokkosp::get_unique_id(), and TIMEMORY_JOIN.
void kokkosp_deallocate_data | ( | const SpaceHandle | space, |
const char * | label, | ||
const void *const | ptr, | ||
const uint64_t | size | ||
) |
void kokkosp_declare_metadata | ( | const char * | key, |
const char * | value | ||
) |
Definition at line 123 of file kokkosp.cpp.
References tim::manager::add_metadata().
void kokkosp_destroy_profile_section | ( | uint32_t | secid | ) |
Definition at line 288 of file kokkosp.cpp.
void kokkosp_end_deep_copy | ( | ) |
Definition at line 351 of file kokkosp.cpp.
void kokkosp_end_fence | ( | uint64_t | kernid | ) |
Definition at line 253 of file kokkosp.cpp.
void kokkosp_end_parallel_for | ( | uint64_t | kernid | ) |
Definition at line 190 of file kokkosp.cpp.
void kokkosp_end_parallel_reduce | ( | uint64_t | kernid | ) |
Definition at line 211 of file kokkosp.cpp.
void kokkosp_end_parallel_scan | ( | uint64_t | kernid | ) |
Definition at line 232 of file kokkosp.cpp.
void kokkosp_finalize_library | ( | ) |
Definition at line 165 of file kokkosp.cpp.
References tim::kokkosp::cleanup(), and tim::timemory_finalize().
void kokkosp_init_library | ( | const int | loadSeq, |
const uint64_t | interfaceVer, | ||
const uint32_t | devInfoCount, | ||
void * | deviceInfo | ||
) |
Definition at line 128 of file kokkosp.cpp.
References tim::consume_parameters(), tim::output_path, tim::set_env(), strdup(), and tim::timemory_init().
void kokkosp_parse_args | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 107 of file kokkosp.cpp.
References tim::_args, tim::argv, tim::timemory_argparse(), and tim::timemory_init().
void kokkosp_pop_profile_region | ( | ) |
Definition at line 270 of file kokkosp.cpp.
std::true_type void kokkosp_print_help | ( | char * | argv0 | ) |
Definition at line 100 of file kokkosp.cpp.
References tim::_args, tim::argv, and tim::timemory_argparse().
void kokkosp_profile_event | ( | const char * | name | ) |
Definition at line 364 of file kokkosp.cpp.
void kokkosp_push_profile_region | ( | const char * | name | ) |
Definition at line 262 of file kokkosp.cpp.
void kokkosp_start_profile_section | ( | uint32_t | secid | ) |
Definition at line 295 of file kokkosp.cpp.
void kokkosp_stop_profile_section | ( | uint32_t | secid | ) |
Definition at line 301 of file kokkosp.cpp.
TIMEMORY_DEFINE_CONCRETE_TRAIT | ( | uses_memory_units | , |
kokkosp::memory_tracker | , | ||
std::true_type | |||
) |