[Pw_forum] DOS and pDOS parallelization

Andrea Ferretti ferretti at MIT.EDU
Thu Aug 13 00:11:19 CEST 2009



Dear Madhura,

the issue of using the same parallelism scheme (# of processors, # of
pools, etc) in postprocessing calculations is mainly concerned with the
need to read wfcs. As you wrote, if you specify wf_collect = .TRUE. you
completely remove this issue (you can read wfcs whatever the parallelization
scheme you used to produce them).

>From this point of view, the main difference between DOS and pDOS
calculations is that the former does not need to read wfcs, while the
latter does.

Moreover, the taks the DOS program has to perform is so inexpensive that
it is performed by a single processor even if the code is run in parallel.
This is consistent with your observation at (ii).

In the case of pDOS (i.e. when running projwfc.x) if you do not collect
wfcs you should run with the same # of processors and the same pool
parallelism. Otherwise, as you experienced, you get a davcio error
(some of the wfcs files were not found).
According to me, anyway, projwfc should work with pools if the above
conditions are fulfilled.

hope it helps
andrea


>
>  There have been many discussions in this forum about parallelization of
> DOS and projected DOS codes. However, some of the points were not clear to
> me, so I have performed some scf calculations for a very simple system
> using 8 processors and with flag wf_collect 'false'. I have performed same
> calculations once without use of pools (A) and then using 2 pools (B).
> Then using theses wavefunctions I have performed DOS and PDOS
> calculations. Following is the summary of results and my interpretation:
>
> i) Pool parallelization is not implemented for both these codes.
>
> ii) DOS calculations: for both the cases A and B, one can calculate DOS
> with the same no. of processors (= 8) and the results match within
> numerical errors; even though for case B, the wavefunctions were obtained
> with pooling and DOS without it.
>  For case A, even if I use 4 processors I get identical results as when I
> use 8 processors. (Note, I have not checked with less no. of proc.s for B).
> => The condition that we need the same no. of processors and pools as were
> used in scf calculations is not necessary; and it is possible to get DOS
> results even with wavefunctions generated with pool parallelization.
>
> iii) PDOS calculations: This can be calculated only in case of A and using
> the same no. of processors. If I use wavefunctions generated in case B or
> less no. of processors (= 4) with A wavefn.s then I get "davcio" error. =>
> For PDOS calculations, one cannot use wavefunctions generated with pool
> parallelization unless wf_collect flag is set to 'true' for scf calc.s;
> also one has to use the same no. of proc.s as were used for scf calc.s to
> get projected DOS.
>
> Now my question is are these interpretations correct? Or they may change
> for some other system?? Do I need to do some more checks to ascertain
> these? If yes, what sort of tests?
>
> Thanks for reading this long mail patiently, but I need to clarify on
> these points before I can start with bigger systems.
> Sincerely,
> Madhura.
>
>
>

-- 
Andrea Ferretti
MIT, Dept Material Science & Engineering
bldg 13-4078, 77, Massachusetts Ave, Cambridge, MA
Tel: +1 617-452-2455;  Skype: andrea_ferretti
URL: http://quasiamore.mit.edu

Please, if possible, don't send me MS Word or PowerPoint attachments
Why? See:  http://www.gnu.org/philosophy/no-word-attachments.html





More information about the users mailing list