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.
settings.cpp File Reference
#include "timemory/settings/settings.hpp"
#include "timemory/backends/dmp.hpp"
#include "timemory/backends/process.hpp"
#include "timemory/defines.h"
#include "timemory/mpl/policy.hpp"
#include "timemory/settings/macros.hpp"
#include "timemory/settings/types.hpp"
#include "timemory/tpls/cereal/archives.hpp"
#include "timemory/utility/argparse.hpp"
#include "timemory/utility/bits/signals.hpp"
#include "timemory/utility/declaration.hpp"
#include "timemory/utility/filepath.hpp"
#include "timemory/utility/md5.hpp"
#include "timemory/utility/utility.hpp"
#include "timemory/variadic/macros.hpp"
#include <cctype>
#include <fstream>
#include <initializer_list>
#include <locale>
#include <string>
+ Include dependency graph for settings.cpp:

Go to the source code of this file.

Namespaces

namespace  tim
 

Macros

#define TIMEMORY_SETTINGS_SETTINGS_CPP_   1
 

Functions

TIMEMORY_SETTINGS_INLINE std::string tim::get_local_datetime (const char *dt_format, std::time_t *dt_curr)
 
 tim::TIMEMORY_SETTINGS_MEMBER_DEF (string_t, config_file, TIMEMORY_SETTINGS_KEY("CONFIG_FILE")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("SUPPRESS_PARSING")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("SUPPRESS_CONFIG")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("ENABLED")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("AUTO_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("COUT_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("FILE_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("TEXT_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("JSON_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("TREE_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("DART_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("TIME_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("PLOT_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("DIFF_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("FLAMEGRAPH_OUTPUT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("CTEST_NOTES")) TIMEMORY_SETTINGS_MEMBER_DEF(int
 
 tim::TIMEMORY_SETTINGS_KEY ("VERBOSE")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("DEBUG")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("BANNER")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("COLLAPSE_THREADS")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("COLLAPSE_PROCESSES")) TIMEMORY_SETTINGS_MEMBER_DEF(uint16_t
 
 tim::TIMEMORY_SETTINGS_KEY ("MAX_DEPTH")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("TIME_FORMAT")) TIMEMORY_SETTINGS_MEMBER_DEF(int16_t
 
 tim::TIMEMORY_SETTINGS_KEY ("PRECISION")) TIMEMORY_SETTINGS_MEMBER_DEF(int16_t
 
 tim::TIMEMORY_SETTINGS_KEY ("WIDTH")) TIMEMORY_SETTINGS_MEMBER_DEF(int32_t
 
 tim::TIMEMORY_SETTINGS_KEY ("MAX_WIDTH")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("SCIENTIFIC")) TIMEMORY_SETTINGS_MEMBER_DEF(int16_t
 
 tim::TIMEMORY_SETTINGS_KEY ("TIMING_PRECISION")) TIMEMORY_SETTINGS_MEMBER_DEF(int16_t
 
 tim::TIMEMORY_SETTINGS_KEY ("TIMING_WIDTH")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("TIMING_UNITS")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("TIMING_SCIENTIFIC")) TIMEMORY_SETTINGS_MEMBER_DEF(int16_t
 
 tim::TIMEMORY_SETTINGS_KEY ("MEMORY_PRECISION")) TIMEMORY_SETTINGS_MEMBER_DEF(int16_t
 
 tim::TIMEMORY_SETTINGS_KEY ("MEMORY_WIDTH")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("MEMORY_UNITS")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("MEMORY_SCIENTIFIC")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("OUTPUT_PATH")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("OUTPUT_PREFIX")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("INPUT_PATH")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("INPUT_PREFIX")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("INPUT_EXTENSIONS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("DART_TYPE")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("DART_COUNT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("DART_LABEL")) TIMEMORY_SETTINGS_MEMBER_DEF(size_t
 
 tim::TIMEMORY_SETTINGS_KEY ("MAX_THREAD_BOOKMARKS")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("CPU_AFFINITY")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("STACK_CLEARING")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("ADD_SECONDARY")) TIMEMORY_SETTINGS_MEMBER_DEF(size_t
 
 tim::TIMEMORY_SETTINGS_KEY ("THROTTLE_COUNT")) TIMEMORY_SETTINGS_MEMBER_DEF(size_t
 
 tim::TIMEMORY_SETTINGS_KEY ("THROTTLE_VALUE")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("GLOBAL_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("TUPLE_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("LIST_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("OMPT_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("MPIP_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("NCCLP_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("TRACE_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("PROFILER_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("KOKKOS_COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("COMPONENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("MPI_INIT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("MPI_FINALIZE")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("MPI_THREAD")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("MPI_THREAD_TYPE")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("UPCXX_INIT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("UPCXX_FINALIZE")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("PAPI_THREADING")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("PAPI_MULTIPLEXING")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("PAPI_FAIL_ON_ERROR")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("PAPI_QUIET")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("PAPI_EVENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("PAPI_ATTACH")) TIMEMORY_SETTINGS_MEMBER_DEF(int
 
 tim::TIMEMORY_SETTINGS_KEY ("PAPI_OVERFLOW")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("CUDA_EVENT_BATCH_SIZE")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("NVTX_MARKER_DEVICE_SYNC")) TIMEMORY_SETTINGS_MEMBER_DEF(int32_t
 
 tim::TIMEMORY_SETTINGS_KEY ("CUPTI_ACTIVITY_LEVEL")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("CUPTI_ACTIVITY_KINDS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("CUPTI_EVENTS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("CUPTI_METRICS")) TIMEMORY_SETTINGS_MEMBER_DEF(int
 
 tim::TIMEMORY_SETTINGS_KEY ("CUPTI_DEVICE")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ROOFLINE_MODE")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ROOFLINE_MODE_CPU")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ROOFLINE_MODE_GPU")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ROOFLINE_EVENTS_CPU")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ROOFLINE_EVENTS_GPU")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("ROOFLINE_TYPE_LABELS")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("ROOFLINE_TYPE_LABELS_CPU")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("ROOFLINE_TYPE_LABELS_GPU")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("INSTRUCTION_ROOFLINE")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_NUM_THREADS")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_NUM_THREADS_CPU")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_NUM_THREADS_GPU")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_NUM_STREAMS")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_GRID_SIZE")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_BLOCK_SIZE")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_ALIGNMENT")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_MIN_WORKING_SIZE")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_MIN_WORKING_SIZE_CPU")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_MIN_WORKING_SIZE_GPU")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_MAX_DATA_SIZE")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_MAX_DATA_SIZE_CPU")) TIMEMORY_SETTINGS_MEMBER_DEF(uint64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_MAX_DATA_SIZE_GPU")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("ERT_SKIP_OPS")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("CRAYPAT")) TIMEMORY_SETTINGS_MEMBER_DEF(int32_t
 
 tim::TIMEMORY_SETTINGS_KEY ("NODE_COUNT")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("DESTRUCTOR_REPORT")) TIMEMORY_SETTINGS_MEMBER_DEF(string_t
 
 tim::TIMEMORY_SETTINGS_KEY ("PYTHON_EXE")) TIMEMORY_SETTINGS_MEMBER_DEF(int64_t
 
 tim::TIMEMORY_SETTINGS_KEY ("SEPARATOR_FREQ")) TIMEMORY_SETTINGS_MEMBER_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("ENABLE_SIGNAL_HANDLER")) TIMEMORY_SETTINGS_REFERENCE_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("ALLOW_SIGNAL_HANDLER")) TIMEMORY_SETTINGS_REFERENCE_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("ENABLE_ALL_SIGNALS")) TIMEMORY_SETTINGS_REFERENCE_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("DISABLE_ALL_SIGNALS")) TIMEMORY_SETTINGS_REFERENCE_DEF(bool
 
 tim::TIMEMORY_SETTINGS_KEY ("FLAT_PROFILE")) TIMEMORY_SETTINGS_REFERENCE_DEF(bool
 

Variables

 tim::suppress_parsing
 
 tim::suppress_config
 
 tim::enabled
 
 tim::auto_output
 
 tim::cout_output
 
 tim::file_output
 
 tim::text_output
 
 tim::json_output
 
 tim::tree_output
 
 tim::dart_output
 
 tim::time_output
 
 tim::plot_output
 
 tim::diff_output
 
 tim::flamegraph_output
 
 tim::ctest_notes
 
 tim::verbose
 
 tim::debug
 
 tim::banner
 
 tim::collapse_threads
 
 tim::collapse_processes
 
 tim::max_depth
 
 tim::time_format
 
 tim::precision
 
 tim::width
 
 tim::max_width
 
 tim::scientific
 
 tim::timing_precision
 
 tim::timing_width
 
 tim::timing_units
 
 tim::timing_scientific
 
 tim::memory_precision
 
 tim::memory_width
 
 tim::memory_units
 
 tim::memory_scientific
 
 tim::output_path
 
 tim::output_prefix
 
 tim::input_path
 
 tim::input_prefix
 
 tim::input_extensions
 
 tim::dart_type
 
 tim::dart_count
 
 tim::dart_label
 
 tim::max_thread_bookmarks
 
 tim::cpu_affinity
 
 tim::stack_clearing
 
 tim::add_secondary
 
 tim::throttle_count
 
 tim::throttle_value
 
 tim::global_components
 
 tim::tuple_components
 
 tim::list_components
 
 tim::ompt_components
 
 tim::mpip_components
 
 tim::ncclp_components
 
 tim::trace_components
 
 tim::profiler_components
 
 tim::kokkos_components
 
 tim::components
 
 tim::mpi_init
 
 tim::mpi_finalize
 
 tim::mpi_thread
 
 tim::mpi_thread_type
 
 tim::upcxx_init
 
 tim::upcxx_finalize
 
 tim::papi_threading
 
 tim::papi_multiplexing
 
 tim::papi_fail_on_error
 
 tim::papi_quiet
 
 tim::papi_events
 
 tim::papi_attach
 
 tim::papi_overflow
 
 tim::cuda_event_batch_size
 
 tim::nvtx_marker_device_sync
 
 tim::cupti_activity_level
 
 tim::cupti_activity_kinds
 
 tim::cupti_events
 
 tim::cupti_metrics
 
 tim::cupti_device
 
 tim::roofline_mode
 
 tim::cpu_roofline_mode
 
 tim::gpu_roofline_mode
 
 tim::cpu_roofline_events
 
 tim::gpu_roofline_events
 
 tim::roofline_type_labels
 
 tim::roofline_type_labels_cpu
 
 tim::roofline_type_labels_gpu
 
 tim::instruction_roofline
 
 tim::ert_num_threads
 
 tim::ert_num_threads_cpu
 
 tim::ert_num_threads_gpu
 
 tim::ert_num_streams
 
 tim::ert_grid_size
 
 tim::ert_block_size
 
 tim::ert_alignment
 
 tim::ert_min_working_size
 
 tim::ert_min_working_size_cpu
 
 tim::ert_min_working_size_gpu
 
 tim::ert_max_data_size
 
 tim::ert_max_data_size_cpu
 
 tim::ert_max_data_size_gpu
 
 tim::ert_skip_ops
 
 tim::craypat_categories
 
 tim::node_count
 
 tim::destructor_report
 
 tim::python_exe
 
 tim::separator_frequency
 
 tim::enable_signal_handler
 
 tim::allow_signal_handler
 
 tim::enable_all_signals
 
 tim::disable_all_signals
 
 tim::flat_profile
 
 tim::timeline_profile
 

Macro Definition Documentation

◆ TIMEMORY_SETTINGS_SETTINGS_CPP_

#define TIMEMORY_SETTINGS_SETTINGS_CPP_   1

Definition at line 26 of file settings.cpp.