[Q-e-developers] global_kpoint_index

Paolo Giannozzi paolo.giannozzi at uniud.it
Wed Oct 19 14:43:28 CEST 2016


On Tue, Oct 18, 2016 at 11:52 AM, Lorenzo Paulatto <
lorenzo.paulatto at impmc.upmc.fr> wrote:

Yes, I see, I had to redo all the scatter/collect mechanism anyway because
> <beta|psi> products are stored in a derived type, which has not pre-made
> subroutines.
>

likely you will need a complex version. maybe we should consider an
interface.

I also noticed that we do:
>     IF (npool>1) CALL mp_sum(exxbuff, inter_pool_comm)
> should this be followed by a
>  CALL mp_bcast(exxbuff, root_pool, intra_pool_comm)
> ?
>

I don;'t think so: exxbuff has three indices and is distributed over the
first (PW, inside a band group) and the second (bands, across band groups)
indices. The problem is the third index, k+q. Each pool has a subset of
k-points, fills a subset of k+q points, needs a different subset of k+q
points (except if nq1=nq2=nq3=1, that is, q=0 only). The "mp_sum" above is
just filling the third index for all pools. It is dumb but simple; better
solutions welcome

Paolo
-- 
Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20161019/6a27ea0d/attachment.html>


More information about the developers mailing list