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.
tim::ert::exec_params Struct Reference

#include "timemory/ert/data.hpp"

+ Collaboration diagram for tim::ert::exec_params:

Public Member Functions

 exec_params (uint64_t _work_set=16, uint64_t mem_max=8 *cache_size::get_max(), uint64_t _nthread=1, uint64_t _nstream=1, uint64_t _grid_size=0, uint64_t _block_size=32)
 
 ~exec_params ()=default
 
 exec_params (const exec_params &)=default
 
 exec_params (exec_params &&) noexcept=default
 
exec_paramsoperator= (const exec_params &)=default
 
exec_paramsoperator= (exec_params &&) noexcept=default
 
template<typename Archive >
void serialize (Archive &ar, const unsigned int)
 

Public Attributes

uint64_t working_set_min = 16
 
uint64_t memory_max = 8 * cache_size::get_max()
 
uint64_t nthreads = 1
 
uint64_t nrank = tim::dmp::rank()
 
uint64_t nproc = tim::dmp::size()
 
uint64_t nstreams = 1
 
uint64_t grid_size = 0
 
uint64_t block_size = 32
 
uint64_t shmem_size = 0
 

Friends

std::ostream & operator<< (std::ostream &os, const exec_params &obj)
 

Detailed Description

Definition at line 66 of file data.hpp.

Constructor & Destructor Documentation

◆ exec_params() [1/3]

tim::ert::exec_params::exec_params ( uint64_t  _work_set = 16,
uint64_t  mem_max = 8 * cache_size::get_max(),
uint64_t  _nthread = 1,
uint64_t  _nstream = 1,
uint64_t  _grid_size = 0,
uint64_t  _block_size = 32 
)
inlineexplicit

Definition at line 68 of file data.hpp.

72 : working_set_min(_work_set)
73 , memory_max(mem_max)
74 , nthreads(_nthread)
75 , nstreams(_nstream)
76 , grid_size(_grid_size)
77 , block_size(_block_size)
78 {}
uint64_t working_set_min
Definition: data.hpp:114
uint64_t nstreams
Definition: data.hpp:119
uint64_t memory_max
Definition: data.hpp:115
uint64_t nthreads
Definition: data.hpp:116
uint64_t grid_size
Definition: data.hpp:120
uint64_t block_size
Definition: data.hpp:121

◆ ~exec_params()

tim::ert::exec_params::~exec_params ( )
default

◆ exec_params() [2/3]

tim::ert::exec_params::exec_params ( const exec_params )
default

◆ exec_params() [3/3]

tim::ert::exec_params::exec_params ( exec_params &&  )
defaultnoexcept

Member Function Documentation

◆ operator=() [1/2]

exec_params & tim::ert::exec_params::operator= ( const exec_params )
default

◆ operator=() [2/2]

exec_params & tim::ert::exec_params::operator= ( exec_params &&  )
defaultnoexcept

◆ serialize()

template<typename Archive >
void tim::ert::exec_params::serialize ( Archive &  ar,
const unsigned int   
)
inline

Definition at line 87 of file data.hpp.

88 {
89 ar(cereal::make_nvp("working_set_min", working_set_min),
90 cereal::make_nvp("memory_max", memory_max),
91 cereal::make_nvp("nthreads", nthreads), cereal::make_nvp("nrank", nrank),
92 cereal::make_nvp("nproc", nproc), cereal::make_nvp("nstreams", nstreams),
93 cereal::make_nvp("grid_size", grid_size),
94 cereal::make_nvp("block_size", block_size),
95 cereal::make_nvp("shmem_size", shmem_size));
96 }
uint64_t shmem_size
Definition: data.hpp:122

References block_size, grid_size, memory_max, nproc, nrank, nstreams, nthreads, shmem_size, and working_set_min.

Friends And Related Function Documentation

◆ operator<<

std::ostream & operator<< ( std::ostream &  os,
const exec_params obj 
)
friend

Definition at line 98 of file data.hpp.

99 {
100 std::stringstream ss;
101 ss << "working_set_min = " << obj.working_set_min << ", "
102 << "memory_max = " << obj.memory_max << ", "
103 << "nthreads = " << obj.nthreads << ", "
104 << "nrank = " << obj.nrank << ", "
105 << "nproc = " << obj.nproc << ", "
106 << "nstreams = " << obj.nstreams << ", "
107 << "grid_size = " << obj.grid_size << ", "
108 << "block_size = " << obj.block_size << ", "
109 << "shmem_size = " << obj.shmem_size;
110 os << ss.str();
111 return os;
112 }
const std::string std::ostream * os

Member Data Documentation

◆ block_size

uint64_t tim::ert::exec_params::block_size = 32

Definition at line 121 of file data.hpp.

Referenced by tim::ert::ops_main(), and serialize().

◆ grid_size

uint64_t tim::ert::exec_params::grid_size = 0

Definition at line 120 of file data.hpp.

Referenced by tim::ert::ops_main(), and serialize().

◆ memory_max

uint64_t tim::ert::exec_params::memory_max = 8 * cache_size::get_max()

Definition at line 115 of file data.hpp.

Referenced by serialize().

◆ nproc

uint64_t tim::ert::exec_params::nproc = tim::dmp::size()

Definition at line 118 of file data.hpp.

Referenced by tim::ert::counter< DeviceT, Tp, Counter >::record(), and serialize().

◆ nrank

uint64_t tim::ert::exec_params::nrank = tim::dmp::rank()

Definition at line 117 of file data.hpp.

Referenced by serialize().

◆ nstreams

uint64_t tim::ert::exec_params::nstreams = 1

Definition at line 119 of file data.hpp.

Referenced by tim::ert::ops_main(), and serialize().

◆ nthreads

uint64_t tim::ert::exec_params::nthreads = 1

◆ shmem_size

uint64_t tim::ert::exec_params::shmem_size = 0

Definition at line 122 of file data.hpp.

Referenced by tim::ert::ops_main(), and serialize().

◆ working_set_min

uint64_t tim::ert::exec_params::working_set_min = 16

Definition at line 114 of file data.hpp.

Referenced by tim::ert::ops_main(), and serialize().


The documentation for this struct was generated from the following file: