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.
config.cpp File Reference
#include "timemory/config/macros.hpp"
#include "timemory/backends/process.hpp"
#include "timemory/config/config.hpp"
#include "timemory/config/types.hpp"
#include "timemory/manager/declaration.hpp"
#include "timemory/mpl/filters.hpp"
#include "timemory/settings/declaration.hpp"
#include "timemory/utility/argparse.hpp"
#include "timemory/utility/signals.hpp"
#include "timemory/utility/utility.hpp"
#include <fstream>
#include <string>
+ Include dependency graph for config.cpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  tim
 

Macros

#define TIMEMORY_CONFIG_CONFIG_CPP_   1
 

Typedefs

using tim::parser_t = argparse::argument_parser
 
using tim::parser_err_t = typename parser_t::result_type
 

Functions

 tim::TIMEMORY_CONFIG_LINKAGE (void) timemory_init(int argc
 
 tim::if (_settings)
 
 tim::while (exe_name.find('\\') !=std::string::npos) exe_name
 
 tim::while (exe_name.find('/') !=std::string::npos) exe_name
 
 tim::for (const auto &ext :_exe_suffixes)
 
 tim::for (auto &itr :exe_name)
 
 tim::while ((pos=exe_name.find("--")) !=std::string::npos) exe_name.erase(pos
 
 tim::if (exe_name.empty()) exe_name
 
 tim::if (_manager)
 
 tim::timemory_argparse (argc, argv)
 
 tim::timemory_argparse (argc, argv, &parser)
 
 tim::if (_cleanup_parser) parser
 
 tim::if (_cleanup_settings &&!_shared_settings) return
 
 tim::if (_cleanup_settings) _settings
 
parser tim::enable_help ()
 
parser tim::on_error ([=](parser_t &p, const parser_err_t &_err) { err_action(_err);if(dmp::rank()==0 &&_settings->get_verbose() > 0) p.print_help("-- <NON_TIMEMORY_ARGS>");})
 
 tim::for (const auto &itr :_settings->ordering())
 
parser tim::add_argument () .names(
 
 tim::description ("A generic option for any setting. Each argument MUST be passed in " "form: 'NAME=VALUE'. E.g. --timemory-args " "\"papi_events=PAPI_TOT_INS,PAPI_TOT_CYC\" text_output=off") .action([&](parser_t &p)
 
 tim::err_action (parser->parse_known_args(argc, argv, "--", settings::verbose()))
 
 tim::if (parser->exists("help")) help_action(*parser)
 

Variables

char ** tim::argv
 
char const std::string & tim::_prefix
 
char const std::string const std::string & tim::_suffix
 
std::string tim::exe_name = (argc > 0) ? argv[0] : ""
 
size_t tim::pos = std::string::npos
 
char argparse::argument_parser & tim::parser
 
char argparse::argument_parser tim::settingstim::_settings
 
if argc tim::return
 
auto tim::help_action
 
auto tim::err_action
 
bool tim::_cleanup_parser = parser == nullptr
 
bool tim::_cleanup_settings = _settings == nullptr
 

Macro Definition Documentation

◆ TIMEMORY_CONFIG_CONFIG_CPP_

#define TIMEMORY_CONFIG_CONFIG_CPP_   1

Definition at line 26 of file config.cpp.