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/ert/configuration.hpp"
Public Types | |
using | this_type = configuration< DeviceT, Tp, CounterT > |
using | ert_data_t = exec_data< CounterT > |
using | device_t = DeviceT |
using | counter_t = CounterT |
using | ert_counter_t = counter< device_t, Tp, counter_t > |
using | ert_data_ptr_t = std::shared_ptr< ert_data_t > |
using | executor_func_t = std::function< ert_counter_t(ert_data_ptr_t)> |
using | get_uint64_t = std::function< uint64_t()> |
using | skip_ops_t = std::unordered_set< size_t > |
using | get_skip_ops_t = std::function< skip_ops_t()> |
Static Public Member Functions | |
static get_uint64_t & | get_num_threads () |
static get_uint64_t & | get_num_streams () |
static get_uint64_t & | get_grid_size () |
static get_uint64_t & | get_block_size () |
static get_uint64_t & | get_alignment () |
static get_uint64_t & | get_min_working_size () |
static get_uint64_t & | get_max_data_size () |
static get_skip_ops_t & | get_skip_ops () |
template<typename Dev = DeviceT, enable_if_t< std::is_same< Dev, device::cpu >::value, int > = 0> | |
static void | configure (uint64_t nthreads, uint64_t alignment=sizeof(Tp), uint64_t nstreams=0, uint64_t block_size=0, uint64_t grid_size=0) |
configure the number of threads, number of streams, block size, grid size, and alignment More... | |
template<typename Dev = DeviceT, enable_if_t< std::is_same< Dev, device::gpu >::value, int > = 0> | |
static void | configure (uint64_t nthreads, uint64_t alignment=sizeof(Tp), uint64_t nstreams=1, uint64_t block_size=1024, uint64_t grid_size=0) |
configure the number of threads, number of streams, block size, grid size, and alignment More... | |
static executor_func_t & | get_executor () |
Definition at line 62 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::counter_t = CounterT |
Definition at line 67 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::device_t = DeviceT |
Definition at line 66 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::ert_counter_t = counter<device_t, Tp, counter_t> |
Definition at line 68 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::ert_data_ptr_t = std::shared_ptr<ert_data_t> |
Definition at line 69 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::ert_data_t = exec_data<CounterT> |
Definition at line 65 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::executor_func_t = std::function<ert_counter_t(ert_data_ptr_t)> |
Definition at line 70 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::get_skip_ops_t = std::function<skip_ops_t()> |
Definition at line 73 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::get_uint64_t = std::function<uint64_t()> |
Definition at line 71 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::skip_ops_t = std::unordered_set<size_t> |
Definition at line 72 of file configuration.hpp.
using tim::ert::configuration< DeviceT, Tp, CounterT >::this_type = configuration<DeviceT, Tp, CounterT> |
Definition at line 64 of file configuration.hpp.
|
inlinestatic |
configure the number of threads, number of streams, block size, grid size, and alignment
Definition at line 180 of file configuration.hpp.
References tim::ert::configuration< DeviceT, Tp, CounterT >::alignment, tim::ert::configuration< DeviceT, Tp, CounterT >::block_size, tim::ert::configuration< DeviceT, Tp, CounterT >::get_alignment(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_block_size(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_grid_size(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_num_streams(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_num_threads(), and tim::ert::configuration< DeviceT, Tp, CounterT >::grid_size.
|
inlinestatic |
configure the number of threads, number of streams, block size, grid size, and alignment
Definition at line 196 of file configuration.hpp.
References tim::ert::configuration< DeviceT, Tp, CounterT >::alignment, tim::ert::configuration< DeviceT, Tp, CounterT >::block_size, tim::ert::configuration< DeviceT, Tp, CounterT >::get_alignment(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_block_size(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_grid_size(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_num_streams(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_num_threads(), and tim::ert::configuration< DeviceT, Tp, CounterT >::grid_size.
|
inlinestatic |
Definition at line 116 of file configuration.hpp.
References tim::ert_alignment.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::configure(), and tim::ert::configuration< DeviceT, Tp, CounterT >::get_executor().
|
inlinestatic |
Definition at line 108 of file configuration.hpp.
References tim::ert_block_size.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::configure(), and tim::ert::configuration< DeviceT, Tp, CounterT >::get_executor().
|
inlinestatic |
Definition at line 209 of file configuration.hpp.
References tim::ert::counter< DeviceT, Tp, Counter >::add_skip_ops(), tim::ert::counter< DeviceT, Tp, Counter >::bytes_per_element, tim::debug, tim::demangle(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_alignment(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_block_size(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_grid_size(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_max_data_size(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_min_working_size(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_num_streams(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_num_threads(), tim::ert::configuration< DeviceT, Tp, CounterT >::get_skip_ops(), tim::ert::counter< DeviceT, Tp, Counter >::memory_accesses_per_element, and tim::verbose.
|
inlinestatic |
Definition at line 100 of file configuration.hpp.
References tim::ert_grid_size.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::configure(), and tim::ert::configuration< DeviceT, Tp, CounterT >::get_executor().
|
inlinestatic |
Definition at line 140 of file configuration.hpp.
References tim::ert_max_data_size, and tim::ert_max_data_size_gpu.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::get_executor().
|
inlinestatic |
Definition at line 126 of file configuration.hpp.
References tim::ert_min_working_size, tim::ert_min_working_size_cpu, and tim::ert_min_working_size_gpu.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::get_executor().
|
inlinestatic |
Definition at line 92 of file configuration.hpp.
References tim::ert_num_streams.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::configure(), and tim::ert::configuration< DeviceT, Tp, CounterT >::get_executor().
|
inlinestatic |
Definition at line 77 of file configuration.hpp.
References tim::ert_num_threads, tim::ert_num_threads_cpu, and tim::ert_num_threads_gpu.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::configure(), and tim::ert::configuration< DeviceT, Tp, CounterT >::get_executor().
|
inlinestatic |
Definition at line 159 of file configuration.hpp.
References tim::delimit(), and tim::ert_skip_ops.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::get_executor().
get_uint64_t tim::ert::configuration< DeviceT, Tp, CounterT >::alignment = this_type::get_alignment() |
Definition at line 269 of file configuration.hpp.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::configure().
get_uint64_t tim::ert::configuration< DeviceT, Tp, CounterT >::block_size = this_type::get_block_size() |
Definition at line 271 of file configuration.hpp.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::configure().
executor_func_t tim::ert::configuration< DeviceT, Tp, CounterT >::executor = this_type::get_executor() |
Definition at line 272 of file configuration.hpp.
get_uint64_t tim::ert::configuration< DeviceT, Tp, CounterT >::grid_size = this_type::get_grid_size() |
Definition at line 270 of file configuration.hpp.
Referenced by tim::ert::configuration< DeviceT, Tp, CounterT >::configure().
get_uint64_t tim::ert::configuration< DeviceT, Tp, CounterT >::max_data_size = this_type::get_max_data_size() |
Definition at line 268 of file configuration.hpp.
get_uint64_t tim::ert::configuration< DeviceT, Tp, CounterT >::min_working_size = this_type::get_min_working_size() |
Definition at line 267 of file configuration.hpp.
get_uint64_t tim::ert::configuration< DeviceT, Tp, CounterT >::num_streams = this_type::get_num_streams() |
Definition at line 266 of file configuration.hpp.
get_uint64_t tim::ert::configuration< DeviceT, Tp, CounterT >::num_threads = this_type::get_num_threads() |
Definition at line 265 of file configuration.hpp.
bool tim::ert::configuration< DeviceT, Tp, CounterT >::verbose = false |
Definition at line 264 of file configuration.hpp.