SpECTRE  v2024.05.11
mem_monitor::ContributeMemoryData< ContributingComponent > Struct Template Reference

Simple action meant to be run on the MemoryMonitor component that collects sizes from Groups and Nodegroups. More...

#include <ContributeMemoryData.hpp>

Static Public Member Functions

template<typename ParallelComponent , typename DbTags , typename Metavariables , typename ArrayIndex >
static void apply (db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const double time, const int node_or_proc, const double size_in_megabytes)
 

Detailed Description

template<typename ContributingComponent>
struct mem_monitor::ContributeMemoryData< ContributingComponent >

Simple action meant to be run on the MemoryMonitor component that collects sizes from Groups and Nodegroups.

Details

This action collects the sizes of all the local branches of a group or nodegroup component, computes the total memory usage on a node for each, then writes it to disk. For groups, the proc with the maximum memory usage is also reported along with the size on the proc.

The columns in the dat file for a nodegroup when running on 3 nodes will be

  • Time
  • Size on node 0 (MB)
  • Size on node 1 (MB)
  • Size on node 2 (MB)
  • Average size per node (MB)

The columns in the dat file for a group when running on 3 nodes will be

  • Time
  • Size on node 0 (MB)
  • Size on node 1 (MB)
  • Size on node 2 (MB)
  • Proc of max size
  • Size on proc of max size (MB)
  • Average size per node (MB)

The dat file will be placed in the /MemoryMonitors/ group in the reduction file. The name of the dat file is the pretty_type::name of the component.


The documentation for this struct was generated from the following file: