geopm::PowerBalancerAgent(3) -- agent optimizing performance under a power cap
==============================================================================


Synopsis
--------

#include `"PowerBalancerAgent.hpp" <https://github.com/geopm/geopm/blob/dev/libgeopm/src/PowerBalancerAgent.hpp>`_

Link with ``-lgeopm`` **(MPI)** or ``-lgeopm`` **(non-MPI)**

Description
-----------

The ``PowerBalancerAgent`` is designed to enforce an application wide average
per-compute-node power cap while varying the power cap of individual compute nodes
to optimize overall application performance.

The behavior of this agent is described in more detail in the
:doc:`geopm_agent_power_balancer(7) <geopm_agent_power_balancer.7>` man page.  The balancing algorithm
is implemented using the :doc:`geopm::PowerBalancer(3) <geopm::PowerBalancer.3>` class.

This class uses the :doc:`geopm::PowerGovernor(3) <geopm::PowerGovernor.3>` to enforce power limits.

For more details, see
`doxygen page <https://geopm.github.io/geopm-runtime-dox/classgeopm_1_1_power_balancer_agent.html>`_.

See Also
--------

:doc:`geopm(7) <geopm.7>`\ ,
:doc:`geopm::Agent(3) <geopm::Agent.3>`\ ,
:doc:`geopm_agent_power_balancer(7) <geopm_agent_power_balancer.7>`\ ,
:doc:`geopm::PowerBalancer(3) <geopm::PowerBalancer.3>`\ ,
:doc:`geopm::PowerGovernor(3) <geopm::PowerGovernor.3>`