[Q-e-developers] global_kpoint_index

Lorenzo Paulatto lorenzo.paulatto at impmc.upmc.fr
Tue Oct 18 11:52:44 CEST 2016


On Tuesday, October 18, 2016 11:31:19 AM CEST Paolo Giannozzi wrote:
> The reason why it is done in such a dumb way is, if I remember correctly
> (cannot verify now), that it is not easy to figure out which pool computes
> which rotated wavefunctions. There are utilities for pool operations
> (poolscatter etc), you may take inspiration from those. Paolo

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

I'll apply it all to the wavefunction, although I notices that it is done 
slightly different than what I was expecting, but it should not be too 
complicated. 

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

At least mp_bcast only broadcast to the root of each pool, when called with 
inter_pool_comm; but I'm not sure that mp_sum works in the same way.

BTW, two quick bugs I'll try to put in the tracker later:
1. band groups do not work when nbgrp >nbnd (not surprising, it could stop?)
2. band groups do not work when tqr = true

-- 
Dr. Lorenzo Paulatto 
IdR @ IMPMC -- CNRS & Université Paris 6
phone: +33 (0)1 44275 084 / skype: paulatz
www:   http://www-int.impmc.upmc.fr/~paulatto/
mail:  23-24/4é16 Boîte courrier 115, 4 place Jussieu 75252 Paris Cédex 05




More information about the developers mailing list