vt::vrt::collection::balance::CommOverhead struct

Add some implied, unaccounted work time for communication activity.

Base classes

class ComposedModel
Utility class to support implementation of composable load modeling components.

Constructors, destructors, conversion operators

CommOverhead(std::shared_ptr<balance::LoadModel> base, LoadType in_per_msg_weight, LoadType in_per_byte_weight) explicit
Constructor.

Public functions

void setLoads(std::unordered_map<PhaseType, LoadMapType> const* proc_load, std::unordered_map<PhaseType, CommMapType> const* proc_comm, std::unordered_map<PhaseType, DataMapType> const* user_data) override
Initialize the model instance with pointers to the measured load data.
auto getModeledLoad(ElementIDStruct object, PhaseOffset when) const -> LoadType override
Provide an estimate of the given object's load during a specified interval.

Function documentation

vt::vrt::collection::balance::CommOverhead::CommOverhead(std::shared_ptr<balance::LoadModel> base, LoadType in_per_msg_weight, LoadType in_per_byte_weight) explicit

Constructor.

Parameters
base in the underlying source of object work loads
in_per_msg_weight in weight to add per message received
in_per_byte_weight in weight to add per byte received

void vt::vrt::collection::balance::CommOverhead::setLoads(std::unordered_map<PhaseType, LoadMapType> const* proc_load, std::unordered_map<PhaseType, CommMapType> const* proc_comm, std::unordered_map<PhaseType, DataMapType> const* user_data) override

Initialize the model instance with pointers to the measured load data.

This would typically be called by LBManager when the user has passed a new model instance for a collection

LoadType vt::vrt::collection::balance::CommOverhead::getModeledLoad(ElementIDStruct object, PhaseOffset when) const override

Provide an estimate of the given object's load during a specified interval.

Parameters
object in The object whose load is desired
when in The interval in which the estimated load is desired
Returns How much computation time the object is estimated to require

The updateLoads method must have been called before any call to this.