|
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>
Include dependency graph for kokkosp.hpp:
This graph shows which files directly or indirectly include this file: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 | |||
| ) |