vt::vrt::collection::balance::WeightedCommunicationVolume class

Models work as an affine combination of load and communication.

Base classes

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

Constructors, destructors, conversion operators

WeightedCommunicationVolume(std::shared_ptr<LoadModel> base, double alpha = 1.0, double beta = 0.0, double gamma = 0.0)

Public functions

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::WeightedCommunicationVolume::WeightedCommunicationVolume(std::shared_ptr<LoadModel> base, double alpha = 1.0, double beta = 0.0, double gamma = 0.0)

Parameters
base in underlying source of object work loads
alpha in load part coefficient
beta in communication part coefficient
gamma in unspecified constant cost

LoadType vt::vrt::collection::balance::WeightedCommunicationVolume::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.