On Mon, Sep 12, 2016 at 1:43 PM, XIAOMING ZHANG <[email protected]> wrote: > Dear Paolo: > > Thanks for your quick reply. But do you know the reason why different
have a look at this: http://blog.reverberate.org/2014/09/what-every-computer-programmer-should.html and this: http://blog.reverberate.org/2016/02/06/floating-point-demystified-part2.html there are many more ways to get (insignificantly) different results, not just the number of MPI tasks. > computing cores lead to different results? And How to fix it? I really you would need to re-implement all of Q-E with fixed point math, which - unlike floating point - is associative. > confusing about this. then you better learn quickly. when using numerical computations, you cannot escape the "mysteries of floating point math". axel. > > Thanks for your time, > Xiaoming > Department of Materials Science and Engineering, > University of Utah > > > ________________________________ > From: [email protected] [[email protected]] on behalf of > Paolo Giannozzi [[email protected]] > Sent: Sunday, September 11, 2016 12:51 PM > To: PWSCF Forum > Subject: Re: [Pw_forum] different computing cores lead to different results > when calculating phonon spectrum by ph.x > > The frequencies you report are 0 by definition, almost 0 when computed: > http://www.quantum-espresso.org/faq/phonons/#7.2 . No available solution > other than imposing the Acoustic Sum Rule (ASR) afterwards. > Basically, the ASR violation is numerical noise, and as such, rather > unpredictable. > > Paolo > > On Sun, Sep 11, 2016 at 8:10 PM, XIAOMING ZHANG <[email protected]> > wrote: >> >> Dear all, >> >> I have several questions when calculating phonons by ph.x: >> >> (1) Using the same input files, I got different output files of dynamical >> matrices when using different computing cores; >> >> take q = ( 0.000000000 0.000000000 0.000000000 ) as an example: >> >> Using 96 computing cores, the results after the line "Dynamical Matrix in >> cartesian axes" >> >> and the q-value are: >> >> >> ************************************************************************** >> freq ( 1) = -1.940214 [THz] = -64.718584 [cm-1] >> ( 0.000000 0.000000 -0.000000 0.000000 -0.237593 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.237593 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.237593 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.237593 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.237593 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.237593 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.209687 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.209687 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.209687 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.209687 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.209687 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.209687 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.363998 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.363998 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.363998 0.000000 ) >> freq ( 2) = 0.946381 [THz] = 31.567870 [cm-1] >> ( 0.000000 0.000000 -0.000000 0.000000 -0.101981 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.101981 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.101979 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.101979 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.000001 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.000001 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.384498 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 -0.384498 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.384493 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.384493 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.000005 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.000005 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 0.428402 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 -0.428397 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.000006 0.000000 ) >> freq ( 3) = 0.946381 [THz] = 31.567870 [cm-1] >> ( 0.000000 0.000000 -0.000000 0.000000 -0.058877 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.058877 0.000000 ) >> ( 0.000000 0.000000 -0.000000 0.000000 -0.058879 0.000000 ) >> >> However, when I using 128 computing cores, the corresponding results turn >> to be: >> >> ************************************************************************** >> freq ( 1) = -1.941478 [THz] = -64.760743 [cm-1] >> ( -0.000000 0.000000 -0.000000 0.000000 0.237504 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.237504 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.237504 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.237504 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.237504 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.237504 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.209612 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.209612 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.209612 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.209612 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.209612 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.209612 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.364201 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.364201 0.000000 ) >> ( -0.000000 0.000000 -0.000000 0.000000 0.364201 0.000000 ) >> freq ( 2) = -0.797967 [THz] = -26.617308 [cm-1] >> ( -0.217955 0.000000 -0.132999 0.000000 -0.000000 0.000000 ) >> ( -0.217955 0.000000 -0.132999 0.000000 -0.000000 0.000000 ) >> ( -0.212134 0.000000 -0.133209 0.000000 0.000000 0.000000 ) >> ( -0.212134 0.000000 -0.133209 0.000000 0.000000 0.000000 ) >> ( -0.215227 0.000000 -0.138145 0.000000 0.000000 0.000000 ) >> ( -0.215227 0.000000 -0.138145 0.000000 0.000000 0.000000 ) >> ( -0.230258 0.000000 -0.129133 0.000000 -0.000000 0.000000 ) >> ( -0.230258 0.000000 -0.129133 0.000000 -0.000000 0.000000 ) >> ( -0.205571 0.000000 -0.130026 0.000000 0.000000 0.000000 ) >> ( -0.205571 0.000000 -0.130026 0.000000 0.000000 0.000000 ) >> ( -0.218687 0.000000 -0.150959 0.000000 0.000000 0.000000 ) >> ( -0.218687 0.000000 -0.150959 0.000000 0.000000 0.000000 ) >> ( -0.228822 0.000000 -0.140474 0.000000 0.000000 0.000000 ) >> ( -0.224086 0.000000 -0.140645 0.000000 -0.000000 0.000000 ) >> ( -0.226602 0.000000 -0.144661 0.000000 -0.000000 0.000000 ) >> freq ( 3) = -0.797967 [THz] = -26.617308 [cm-1] >> ( -0.136570 0.000000 0.212256 0.000000 -0.000000 0.000000 ) >> ( -0.136570 0.000000 0.212256 0.000000 -0.000000 0.000000 ) >> ( -0.136360 0.000000 0.218077 0.000000 0.000000 0.000000 ) >> >> So, why do different computing cores lead to different results? Does >> someone encounter the same problems? >> >> By the way, is it reasonable for the negative frequency (such as freq ( >> 1) = -1.940214 [THz] = -64.718584 [cm-1]) ? >> >> >> (2) With different computing cores, I always get the phonon spectrum with >> small imaginary frequency no matter how I adjust the parameters suggested by >> other guys. >> >> So can someone give me some useful suggestions to eliminate the imaginary >> frequency? >> >> >> Thanks for your time, >> >> Xiaoming >> >> Department of Materials Science and Engineering, University of Utah >> >> >> >> _______________________________________________ >> Pw_forum mailing list >> [email protected] >> http://pwscf.org/mailman/listinfo/pw_forum > > > > > -- > 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 > > > _______________________________________________ > Pw_forum mailing list > [email protected] > http://pwscf.org/mailman/listinfo/pw_forum -- Dr. Axel Kohlmeyer [email protected] http://goo.gl/1wk0 College of Science & Technology, Temple University, Philadelphia PA, USA International Centre for Theoretical Physics, Trieste. Italy. _______________________________________________ Pw_forum mailing list [email protected] http://pwscf.org/mailman/listinfo/pw_forum
