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
16
class
MemoryUsage
;
17
18
template
<>
19
InputParameters
validParams<MemoryUsage>
();
20
24
class
MemoryUsage
:
public
GeneralPostprocessor
,
public
MemoryUsageReporter
25
{
26
public
:
27
static
InputParameters
validParams
();
28
29
MemoryUsage
(
const
InputParameters
&
parameters
);
30
31
virtual
void
timestepSetup
()
override
;
32
33
virtual
void
initialize
()
override
{}
34
virtual
void
execute
()
override
;
35
virtual
void
finalize
()
override
;
36
virtual
PostprocessorValue
getValue
()
override
;
37
38
protected
:
39
enum class
MemType
40
{
41
physical_memory
,
42
virtual_memory
,
43
page_faults
44
}
_mem_type
;
45
46
enum class
ValueType
47
{
48
total
,
49
average
,
50
max_process
,
51
min_process
52
}
_value_type
;
53
55
MemoryUtils::MemUnits
_mem_units
;
56
58
Real
_value
;
59
61
Real
_peak_value
;
62
64
const
bool
_report_peak_value
;
65
};
66
MemoryUtils.h
MemoryUsage::_value
Real _value
memory usage metric in bytes
Definition:
MemoryUsage.h:58
MemoryUsage::MemType::page_faults
MemoryUtils::MemUnits
MemUnits
Definition:
MemoryUtils.h:28
MemoryUsage::getValue
virtual PostprocessorValue getValue() override
This will get called to actually grab the final value the postprocessor has calculated.
Definition:
MemoryUsage.C:114
MooseObject::parameters
const InputParameters & parameters() const
Get the parameters of the object.
Definition:
MooseObject.h:76
MemoryUsage::ValueType
ValueType
Definition:
MemoryUsage.h:46
MemoryUsage::MemoryUsage
MemoryUsage(const InputParameters ¶meters)
Definition:
MemoryUsage.C:40
MemoryUsage
Output maximum, average, or total process memory usage.
Definition:
MemoryUsage.h:24
MemoryUsage::_mem_type
enum MemoryUsage::MemType _mem_type
MemoryUsage::ValueType::min_process
InputParameters
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Definition:
InputParameters.h:53
MemoryUsage::execute
virtual void execute() override
Execute method.
Definition:
MemoryUsage.C:59
PostprocessorValue
Real PostprocessorValue
MOOSE typedefs.
Definition:
MooseTypes.h:189
MemoryUsageReporter
Mix-in class for querying memory metrics used by MemoryUsage and VectorMemoryUsage.
Definition:
MemoryUsageReporter.h:19
GeneralPostprocessor.h
GeneralPostprocessor
This class is here to combine the Postprocessor interface and the base class Postprocessor object alo...
Definition:
GeneralPostprocessor.h:27
MemoryUsage::validParams
static InputParameters validParams()
Definition:
MemoryUsage.C:20
MemoryUsage::MemType
MemType
Definition:
MemoryUsage.h:39
MemoryUsage::_mem_units
MemoryUtils::MemUnits _mem_units
The unit prefix for the reported memory statistics (kilobyte, megabyte, etc).
Definition:
MemoryUsage.h:55
MemoryUsage::ValueType::average
MemoryUsage::timestepSetup
virtual void timestepSetup() override
Gets called at the beginning of the timestep before this object is asked to do its job.
Definition:
MemoryUsage.C:53
MemoryUsage::_report_peak_value
const bool _report_peak_value
report peak value for multiple samples in a time step
Definition:
MemoryUsage.h:64
MemoryUsageReporter.h
MemoryUsage::ValueType::total
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:83
MemoryUsage::_value_type
enum MemoryUsage::ValueType _value_type
validParams< MemoryUsage >
InputParameters validParams< MemoryUsage >()
MemoryUsage::_peak_value
Real _peak_value
peak memory usage metric in bytes (of multiple samples in the current time step)
Definition:
MemoryUsage.h:61
MemoryUsage::MemType::virtual_memory
MemoryUsage::MemType::physical_memory
MemoryUsage::ValueType::max_process
MemoryUsage::initialize
virtual void initialize() override
Called before execute() is ever called so that data can be cleared.
Definition:
MemoryUsage.h:33
Generated on Sat Jan 25 2020 11:56:03 for www.mooseframework.org by
1.8.16