www.mooseframework.org
include
postprocessors
MemoryUsage.h
Go to the documentation of this file.
1
//* This file is part of the MOOSE framework
2
//* https://www.mooseframework.org
3
//*
4
//* All rights reserved, see COPYRIGHT for full restrictions
5
//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6
//*
7
//* Licensed under LGPL 2.1, please see LICENSE for details
8
//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10
#pragma once
11
12
#include "
GeneralPostprocessor.h
"
13
#include "
MemoryUsageReporter.h
"
14
#include "
MemoryUtils.h
"
15
19
class
MemoryUsage
:
public
GeneralPostprocessor
,
public
MemoryUsageReporter
20
{
21
public
:
22
static
InputParameters
validParams
();
23
24
MemoryUsage
(
const
InputParameters
&
parameters
);
25
26
virtual
void
timestepSetup
()
override
;
27
28
virtual
void
initialize
()
override
{}
29
virtual
void
execute
()
override
;
30
virtual
void
finalize
()
override
;
31
virtual
PostprocessorValue
getValue
()
const override
;
32
33
protected
:
34
enum class
MemType
35
{
36
physical_memory
,
37
virtual_memory
,
38
page_faults
39
}
_mem_type
;
40
41
enum class
ValueType
42
{
43
total
,
44
average
,
45
max_process
,
46
min_process
47
}
_value_type
;
48
50
MemoryUtils::MemUnits
_mem_units
;
51
53
Real
_value
;
54
56
Real
_peak_value
;
57
59
const
bool
_report_peak_value
;
60
};
MemoryUsage::ValueType::min_process
MemoryUsage::MemoryUsage
MemoryUsage(const InputParameters ¶meters)
Definition:
MemoryUsage.C:38
MemoryUsage::_mem_type
enum MemoryUsage::MemType _mem_type
MemoryUsage::ValueType::total
MemoryUsage::MemType::virtual_memory
MemoryUtils::MemUnits
MemUnits
Definition:
MemoryUtils.h:28
MemoryUtils.h
MemoryUsage::_value
Real _value
memory usage metric in bytes
Definition:
MemoryUsage.h:53
MemoryUsage::MemType::page_faults
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
Definition:
InputParameters.h:63
GeneralPostprocessor
This class is here to combine the Postprocessor interface and the base class Postprocessor object alo...
Definition:
GeneralPostprocessor.h:21
MemoryUsage::MemType::physical_memory
MemoryUsage::ValueType::average
MemoryUsage::MemType
MemType
Definition:
MemoryUsage.h:34
MemoryUsage::_mem_units
MemoryUtils::MemUnits _mem_units
The unit prefix for the reported memory statistics (kilobyte, megabyte, etc).
Definition:
MemoryUsage.h:50
MemoryUsageReporter
Mix-in class for querying memory metrics used by MemoryUsage and VectorMemoryUsage.
Definition:
MemoryUsageReporter.h:19
MemoryUsage::validParams
static InputParameters validParams()
Definition:
MemoryUsage.C:18
MemoryUsage::timestepSetup
virtual void timestepSetup() override
Definition:
MemoryUsage.C:51
PostprocessorValue
Real PostprocessorValue
various MOOSE typedefs
Definition:
MooseTypes.h:191
MemoryUsage::ValueType
ValueType
Definition:
MemoryUsage.h:41
MemoryUsageReporter.h
MemoryUsage
Output maximum, average, or total process memory usage.
Definition:
MemoryUsage.h:19
MemoryUsage::ValueType::max_process
MemoryUsage::execute
virtual void execute() override
Execute method.
Definition:
MemoryUsage.C:57
MemoryUsage::_peak_value
Real _peak_value
peak memory usage metric in bytes (of multiple samples in the current time step)
Definition:
MemoryUsage.h:56
Real
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
GeneralPostprocessor.h
MemoryUsage::getValue
virtual PostprocessorValue getValue() const override
This will get called to actually grab the final value the postprocessor has calculated.
Definition:
MemoryUsage.C:122
MemoryUsage::_report_peak_value
const bool _report_peak_value
report peak value for multiple samples in a time step
Definition:
MemoryUsage.h:59
MooseBaseParameterInterface::parameters
const InputParameters & parameters() const
Get the parameters of the object.
Definition:
MooseBaseParameterInterface.h:62
MemoryUsage::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition:
MemoryUsage.h:28
MemoryUsage::_value_type
enum MemoryUsage::ValueType _value_type
MemoryUsage::finalize
virtual void finalize() override
This is called after execute() and after threadJoin()! This is probably where you want to do MPI comm...
Definition:
MemoryUsage.C:86
Generated on Thu Apr 18 2024 15:23:09 for www.mooseframework.org by
1.8.14