[CP2K:7406] Load balancing for H2O-inputs

Iain Bethune ibet... at epcc.ed.ac.uk
Fri Feb 5 10:05:39 UTC 2016

Hi Martin,

The load balancing algorithm in the released versions of the code (3.0 or earlier) can be quite memory-hungry so is turned off when running on >1024 MPI processes.  You can also override this by setting FORCE_EVAL%DFT%MGRID%SKIP_LOAD_BALANCE_DISTRIBUTED [TRUE|FALSE].  The fact that you see these routines in the timing report indicates that the load balancer is running.  If you turn it off you will find marginally worse performance.  For the H2O-xxx benchmarks, the atoms are essentially distributed at uniform density throughout the cell, so the problem is fairly well load balanced to start with.  If you were running something like an isolated cluster or a slab/interface you would likely see more effect from using the load balancer (or not).

Also, bear in mind that you will not get 100% load balance even when the load balancer is turned on as it works within certain constraints depending on the number of processors, the resulting decomposition of the realspace grids, and the system geometry.  Also, the main bits of work which are balanced by this algorithm are the collocation and integration of gaussian products (calculate_rho_elec and integrate_v_rspace in the timing report).  Other parts of the code e.g. dbcsr are not affected by the load_balance_distributed scheme.

In CP2K 4.0 (development trunk), the load balancer is improved so it is less memory intensive and is turned on by default regardless of the number of MPI processes


- Iain


Iain Bethune
Project Manager, EPCC

Email: ibet... at epcc.ed.ac.uk
Twitter: @IainBethune @PrimeGrid @CP2Kproject
Web: http://www2.epcc.ed.ac.uk/~ibethune
Tel/Fax: +44 (0)131 650 5201/6555
Mob: +44 (0)7598317015
Addr: 2404 JCMB, The King's Buildings, Peter Guthrie Tait Road, Edinburgh, EH9 3FD

> On 5 Feb 2016, at 09:57, Martin Küttler <martin.... at gmail.com> wrote:
> Hi,
> I'm using the H2O input files from cp2k/tests/QS/benchmark. In the output I see some times for subroutines that look like they do load balancing (e.g. load_balance_distributed, optimize_load_list, get_current_loads,...), but I don't see an effect of load balancing. Is there a load balancer that works for these inputs? If so, when does it kick in, and can it be turned on/off?
> Thanks,
> Martin
> -- 
> You received this message because you are subscribed to the Google Groups "cp2k" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+uns... at googlegroups.com.
> To post to this group, send email to cp... at googlegroups.com.
> Visit this group at https://groups.google.com/group/cp2k.
> For more options, visit https://groups.google.com/d/optout.

The University of Edinburgh is a charitable body, registered in
Scotland, with registration number SC005336.

More information about the CP2K-user mailing list