[Q-e-developers] lelfield performance

Paolo Giannozzi giannozz at democritos.it
Fri Apr 20 19:15:10 CEST 2012


On Fri, 2012-04-20 at 17:10 +0200, Lorenzo Paulatto wrote:

> there is a serious scaling problem with the lelfield code 
> when used for isolated systems (i.e. only one kpoint):

pw.x with "lelfield=.TRUE."? not sure it works. The only available
test (or example_) in the distribution is for a grid of k-points. 
I vaguely remember that the Gamma-only algorithm of CP is different 
for several aspects from the k-point algorithm of PW. 

> the mp_sum
>        call mp_sum(aux_g(:))
> around line 450 of c_phase_field.f90 becomes *slower* with the number of  
> processors until it takes ~90% of the *total* wall time for about 16 cores.

The parallelization of the electric field does not seem to be especially
scalable. I have noticed several allocation of nonscalable arrays (i.e.
arrays whose size grows with the size of the cell and that are not
distributed). The array aux_g looks like one of such arrays, having
the global number of G-vectors as dimension. I don't know whether
the sum is really necessary. In any event, it doesn't bode well for
;arge systems.

> I cannot really understand what's going on in that part of the code,  
> anybody familiar with it is available to give a few tips?
> 
> bests
> 
> P.S. I cannot understand where to use intra_bgrp_comm and where to use  
> intra_pool_comm any more.

this is something that should be written down explicitly in the
developers manual, because it is becoming difficult to remember
who is communicatinmg with whom. "intra_bgrp_comm" should be now
the communicator for plane-wave parallelization, so it basically
replaces intra_pool_comm, but this is a statemennt of 7pm of friday
that should be checked at 8 am on monday

> I have the impression that you should use the pool communicator when a sum  
> is spread over k-points, and the bgrp communicator in a very few cases  
> where a sum is spread over bands. Yet most intra_pool have become  
> intra_bgrp, so I am confused: is the bgrp contained in the pool? 

yes (above disclaimer applies)

> Or the  other way round? Or are they independent?
> 
-- 
Paolo Giannozzi, IOM-Democritos and University of Udine, Italy





More information about the developers mailing list