2#ifndef BL_MEMPROFILER_H
3#define BL_MEMPROFILER_H
4#include <AMReX_Config.H>
32 static void add (
const std::string& name, std::function<
MemInfo()>&& f);
33 static void add (
const std::string& name, std::function<
NBuildsInfo()>&& f);
35 static void report (
const std::string& prefix = std::string());
47 void report_ (
const std::string& prefix,
const std::string& memory_log_name)
const;
55 friend std::ostream&
operator<< (std::ostream& os,
56 const MemProfiler::Bytes& bytes);
64 friend std::ostream&
operator<< (std::ostream& os,
65 const MemProfiler::Builds& builds);
69 static std::unique_ptr<MemProfiler> the_instance;
71 std::vector<std::string> the_names;
72 std::vector<std::function<MemInfo()> > the_funcs;
74 std::vector<std::string> the_names_builds;
75 std::vector<std::function<NBuildsInfo()> > the_funcs_builds;
Definition AMReX_MemProfiler.H:19
~MemProfiler()
Definition AMReX_MemProfiler.H:43
MemProfiler & operator=(const MemProfiler &)=delete
static void add(const std::string &name, std::function< MemInfo()> &&f)
Definition AMReX_MemProfiler.cpp:25
static void report(const std::string &prefix=std::string())
Definition AMReX_MemProfiler.cpp:66
static void Finalize()
Definition AMReX_MemProfiler.cpp:60
MemProfiler(const MemProfiler &)=delete
friend std::ostream & operator<<(std::ostream &os, const MemProfiler::Bytes &bytes)
Definition AMReX_MemProfiler.cpp:331
MemProfiler()
Definition AMReX_MemProfiler.H:42
amrex_long Long
Definition AMReX_INT.H:30
Definition AMReX_Amr.cpp:49
Definition AMReX_MemProfiler.H:22
Long current_bytes
Definition AMReX_MemProfiler.H:23
Long hwm_bytes
Definition AMReX_MemProfiler.H:24
Definition AMReX_MemProfiler.H:27
int current_builds
Definition AMReX_MemProfiler.H:28
int hwm_builds
Definition AMReX_MemProfiler.H:29