Struct Logger

Inheritance Relationships

Base Type

Struct Documentation

struct Logger : public sequant::Singleton<Logger>

controls logging within SeQuant components, only useful for troubleshooting/learning

Public Members

bool wick_harness = false
bool wick_topology = false
bool wick_contract = false
bool wick_reduce = false
bool wick_stats = false
bool expand = false
bool canonicalize = false
bool canonicalize_input_graph = false
bool canonicalize_dot = false
bool simplify = false
bool tensor_network = false
bool export_equations = false
size_t level

Evaluation log verbosity level 0: No log. 1: Log what is being evaluated in the evaluation tree (independent of tensor algebra backend (TA/BTAS etc.) 2: Also log invocation of tensor algebra backend within sequant. 3: Also log TiledArray memory use.

std::ostream *stream

the stream for logging; can be set to nullptr

std::function<std::size_t(std::size_t)> rss_reduce = {}

Optional reducer for the per-op RSS reported in the eval trace: maps this rank’s local RSS (bytes) to the value to report (e.g. the sum over all ranks = true total app memory, instead of a misleading single-rank RSS). Injected by the tensor-algebra backend, which holds the World needed for a collective reduction. The eval log path runs on EVERY rank (printing() is level>0, identical across ranks), so a collective reducer here is matched across ranks. Empty = report this rank’s RSS unchanged.

struct sequant::Logger eval = {0, nullptr, {}}