Page 1 of 1

Abinit 7.2.1 MPI Same input file different output file

Posted: Thu Jul 11, 2013 5:13 pm
by ChrisKue
Hi,

I compiled Abinit 7.2.1 with MPI succesfully and wanted to make a benchmark test. I created a input file and ran it on the same machine with a different count of processors. I chose 16 and 64 processors. Now, the results are completely different.

Input file:

Code: Select all

########################## Definition of cell #################################
  acell   1.9118357528E+01  1.9118357528E+01  1.9612307652E+01  Bohr
  rprim=  1.0000000000E+00  0.0000000000E+00  0.0000000000E+00
          0.0000000000E+00  1.0000000000E+00  0.0000000000E+00
          0.0000000000E+00  0.0000000000E+00  1.0000000000E+00
########################### Definition of atoms ################################

     ntypat  2
     znucl   8.00000   40.00000
     natom   96

     xred    1.2500000000E-01 -5.2909066017E-17  1.2500000000E-01
             1.2500000000E-01  2.5000000000E-01  3.7500000000E-01
             3.7500000000E-01  2.5000000000E-01  1.2500000000E-01
             3.7500000000E-01 -5.2909066017E-17  3.7500000000E-01
             6.2500000000E-01 -5.2909066017E-17  1.2500000000E-01
             6.2500000000E-01  2.5000000000E-01  3.7500000000E-01
             8.7500000000E-01  2.5000000000E-01  1.2500000000E-01
             8.7500000000E-01 -5.2909066017E-17  3.7500000000E-01
             1.2500000000E-01  5.0000000000E-01  1.2500000000E-01
             1.2500000000E-01  7.5000000000E-01  3.7500000000E-01
             3.7500000000E-01  7.5000000000E-01  1.2500000000E-01
             3.7500000000E-01  5.0000000000E-01  3.7500000000E-01
             1.2500000000E-01 -5.2909066017E-17  6.2500000000E-01
             1.2500000000E-01  2.5000000000E-01  8.7500000000E-01
             3.7500000000E-01  2.5000000000E-01  6.2500000000E-01
             3.7500000000E-01 -5.2909066017E-17  8.7500000000E-01
             6.2500000000E-01  5.0000000000E-01  1.2500000000E-01
             6.2500000000E-01  7.5000000000E-01  3.7500000000E-01
             8.7500000000E-01  7.5000000000E-01  1.2500000000E-01
             8.7500000000E-01  5.0000000000E-01  3.7500000000E-01
             6.2500000000E-01 -5.2909066017E-17  6.2500000000E-01
             6.2500000000E-01  2.5000000000E-01  8.7500000000E-01
             8.7500000000E-01  2.5000000000E-01  6.2500000000E-01
             8.7500000000E-01 -5.2909066017E-17  8.7500000000E-01
             1.2500000000E-01  5.0000000000E-01  6.2500000000E-01
             1.2500000000E-01  7.5000000000E-01  8.7500000000E-01
             3.7500000000E-01  7.5000000000E-01  6.2500000000E-01
             3.7500000000E-01  5.0000000000E-01  8.7500000000E-01
             6.2500000000E-01  5.0000000000E-01  6.2500000000E-01
             6.2500000000E-01  7.5000000000E-01  8.7500000000E-01
             8.7500000000E-01  7.5000000000E-01  6.2500000000E-01
             8.7500000000E-01  5.0000000000E-01  8.7500000000E-01
            -7.2858385991E-17  1.2500000000E-01  4.7496459713E-01
            -7.2858385991E-17  1.2500000000E-01  2.2496459713E-01
            -7.2858385991E-17  3.7500000000E-01  2.7503540287E-01
            -7.2858385991E-17  3.7500000000E-01  2.5035402873E-02
             2.5000000000E-01  1.2500000000E-01  2.7503540287E-01
             2.5000000000E-01  1.2500000000E-01  2.5035402873E-02
             2.5000000000E-01  3.7500000000E-01  4.7496459713E-01
             2.5000000000E-01  3.7500000000E-01  2.2496459713E-01
             5.0000000000E-01  1.2500000000E-01  4.7496459713E-01
             5.0000000000E-01  1.2500000000E-01  2.2496459713E-01
             5.0000000000E-01  3.7500000000E-01  2.7503540287E-01
             5.0000000000E-01  3.7500000000E-01  2.5035402873E-02
             7.5000000000E-01  1.2500000000E-01  2.7503540287E-01
             7.5000000000E-01  1.2500000000E-01  2.5035402873E-02
             7.5000000000E-01  3.7500000000E-01  4.7496459713E-01
             7.5000000000E-01  3.7500000000E-01  2.2496459713E-01
            -7.2858385991E-17  6.2500000000E-01  4.7496459713E-01
            -7.2858385991E-17  6.2500000000E-01  2.2496459713E-01
            -7.2858385991E-17  8.7500000000E-01  2.7503540287E-01
            -7.2858385991E-17  8.7500000000E-01  2.5035402873E-02
             2.5000000000E-01  6.2500000000E-01  2.7503540287E-01
             2.5000000000E-01  6.2500000000E-01  2.5035402873E-02
             2.5000000000E-01  8.7500000000E-01  4.7496459713E-01
             2.5000000000E-01  8.7500000000E-01  2.2496459713E-01
            -7.2858385991E-17  1.2500000000E-01  9.7496459713E-01
            -7.2858385991E-17  1.2500000000E-01  7.2496459713E-01
            -7.2858385991E-17  3.7500000000E-01  7.7503540287E-01
            -7.2858385991E-17  3.7500000000E-01  5.2503540287E-01
             2.5000000000E-01  1.2500000000E-01  7.7503540287E-01
             2.5000000000E-01  1.2500000000E-01  5.2503540287E-01
             2.5000000000E-01  3.7500000000E-01  9.7496459713E-01
             2.5000000000E-01  3.7500000000E-01  7.2496459713E-01
             5.0000000000E-01  6.2500000000E-01  4.7496459713E-01
             5.0000000000E-01  6.2500000000E-01  2.2496459713E-01
             5.0000000000E-01  8.7500000000E-01  2.7503540287E-01
             5.0000000000E-01  8.7500000000E-01  2.5035402873E-02
             7.5000000000E-01  6.2500000000E-01  2.7503540287E-01
             7.5000000000E-01  6.2500000000E-01  2.5035402873E-02
             7.5000000000E-01  8.7500000000E-01  4.7496459713E-01
             7.5000000000E-01  8.7500000000E-01  2.2496459713E-01
             5.0000000000E-01  1.2500000000E-01  9.7496459713E-01
             5.0000000000E-01  1.2500000000E-01  7.2496459713E-01
             5.0000000000E-01  3.7500000000E-01  7.7503540287E-01
             5.0000000000E-01  3.7500000000E-01  5.2503540287E-01
             7.5000000000E-01  1.2500000000E-01  7.7503540287E-01
             7.5000000000E-01  1.2500000000E-01  5.2503540287E-01
             7.5000000000E-01  3.7500000000E-01  9.7496459713E-01
             7.5000000000E-01  3.7500000000E-01  7.2496459713E-01
            -7.2858385991E-17  6.2500000000E-01  9.7496459713E-01
            -7.2858385991E-17  6.2500000000E-01  7.2496459713E-01
            -7.2858385991E-17  8.7500000000E-01  7.7503540287E-01
            -7.2858385991E-17  8.7500000000E-01  5.2503540287E-01
             2.5000000000E-01  6.2500000000E-01  7.7503540287E-01
             2.5000000000E-01  6.2500000000E-01  5.2503540287E-01
             2.5000000000E-01  8.7500000000E-01  9.7496459713E-01
             2.5000000000E-01  8.7500000000E-01  7.2496459713E-01
             5.0000000000E-01  6.2500000000E-01  9.7496459713E-01
             5.0000000000E-01  6.2500000000E-01  7.2496459713E-01
             5.0000000000E-01  8.7500000000E-01  7.7503540287E-01
             5.0000000000E-01  8.7500000000E-01  5.2503540287E-01
             7.5000000000E-01  6.2500000000E-01  7.7503540287E-01
             7.5000000000E-01  6.2500000000E-01  5.2503540287E-01
             7.5000000000E-01  8.7500000000E-01  9.7496459713E-01
             7.5000000000E-01  8.7500000000E-01  7.2496459713E-01



     typat    2  2  2  2    2  2  2  2    2  2  2  2    2  2  2  2    2  2  2  2    2  2  2  2    2  2  2  2    2  2  2  2 
              1  1  1  1  1  1  1  1    1  1  1  1  1  1  1  1    1  1  1  1  1  1  1  1    1  1  1  1  1  1  1  1 
              1  1  1  1  1  1  1  1    1  1  1  1  1  1  1  1    1  1  1  1  1  1  1  1    1  1  1  1  1  1  1  1

     chkprim  0          # dos not check for primitive unit-cells



########################## Definition of k-Points ##########################

     kptopt   0          # read k-Points from nkpt
     nkpt     1          # number of k-Points
     nband    400        # number of Bands
     
##################### Definition of the planewave basis set #####################

     ecut    10.0        # Maximal kinetic energy cut-off. in Hartree



######################## Exchange-correlation functional ########################

     ixc 7               # LDA Perdew-Wang 92 functional



########################## Optimization of latice ##########################

     ionmov   2          # optimization of atom positions with the Broyden-Fletcher-Goldfarb-Shanno Minimization-Method
     optcell  2          # optimize cell
     tolmxf   1e-5       # max gradient on ion or stress in cell optimization
     strfact  20         # stopping criterion for cell optimization
     iscf     7          # Self-consistent calculation, using algorithm 7
     ntime    500        # Max. number of ion/cell optimization steps
     ecutsm   0.5        # needed for variable cell
     dilatmx  1.1        # needed for variable cell



######################## definition of the SCF procedure ########################

     toldff   1.0d-8     # SCF stopping criterion
     nstep    250        # Maximal number of SCF cycles
     diemac   5.0        # Dielectric constant



######################## parallelisation parameters for Abinit ########################
   
    # autoparal 0        # 0 The number of processors per parallelization level is determined by mean
                        #   of a simple (but relatively efficient) heuristic. A scaling factor is attributed
                        #   to each level and an simple speedup factor is computed.
                        # 1 Same as 0 but make small benchmark
                        #
                        #     

     paral_kgb= 1       # 0: only k-Point parallelisation (default)
                         # 1: all parallelisation Methods are used
                         # -X: calculates options for parallelisation with up to X Processors

   npimage    1
   npkpt      1        # Number of Processors at the k-Point level, npkpt should be a divisor or equal to with
                       # the number of k-point/spin-components (nkpt*nsppol
   npspinor   1        # Number of Processors at the SPINOR level, can be 1 or 2
   npfft      4        # Number of Processors at the FFT level
   npband     4       # Number of Processors at the BAND level, npband has to be a divisor or equal to nband
   bandpp     1

# nproc 16


######################## Timinganalysis of Abinit ########################

     timopt     2        # short analysis, appropriate for parallel execution




The difference between the input file for 16 and 64 processors are npfft and npband. (64 procs = npfft 8 , npband 8 )

The main difference in the output files are:

Code: Select all

< P  mgfft =        64   mkmem =         1 mpssoang=         4     mpw =       450
<   mqgrid =      3072   natom =        96    nfft =     57600    nkpt =         1
---
> P  mgfft =        64   mkmem =         1 mpssoang=         4     mpw =       110
>   mqgrid =      3072   natom =        96    nfft =     32768    nkpt =         1
36c36
< P This job should need less than                      33.529 Mbytes of memory.
---
> P This job should need less than                      25.857 Mbytes of memory.
38c38
< _ WF disk file :     10.988 Mbytes ; DEN or POT disk file :      0.441 Mbytes.
---
> _ WF disk file :      5.373 Mbytes ; DEN or POT disk file :      0.252 Mbytes.
69c69
<             ngfft          60      60      64
---
>             ngfft          64      64      64
71,72c71,72
<            npband           4
<             npfft           4
---
>            npband           8
>             npfft           8
710c710
< -   nproc =   16
---
> -   nproc =   64
724,725c724,725
<  getcut: wavevector=  0.0000  0.0000  0.0000  ngfft=  60  60  64
<          ecut(hartree)=     12.100   => boxcut(ratio)=   2.00421
---
>  getcut: wavevector=  0.0000  0.0000  0.0000  ngfft=  64  64  64
>          ecut(hartree)=     12.100   => boxcut(ratio)=   2.08398
757c757
< P newkpt: treating    400 bands with npw=     450 for ikpt=   1 by node    0
---
> P newkpt: treating    400 bands with npw=     110 for ikpt=   1 by node    0
759c759
< _setup2: Arith. and geom. avg. npw (full set) are     899.000     899.000
---
> _setup2: Arith. and geom. avg. npw (full set) are     219.000     219.000
772,787c772,787
<  ETOT  1  -2368.4820676398    -2.368E+03 1.368E-02 5.108E+04 2.374E-02 2.374E-02
<  ETOT  2  -2391.2668184971    -2.278E+01 2.150E-03 5.675E+04 4.297E-02 6.671E-02
<  ETOT  3  -2457.2501362477    -6.598E+01 4.649E-03 4.297E+03 2.801E-02 3.870E-02
<  ETOT  4  -2460.0211630895    -2.771E+00 5.189E-04 1.790E+03 2.185E-02 1.685E-02
<  ETOT  5  -2461.9018370195    -1.881E+00 1.543E-03 2.858E+02 1.261E-02 4.246E-03
<  ETOT  6  -2462.3311794299    -4.293E-01 3.722E-04 5.256E+01 6.649E-03 1.089E-02
<  ETOT  7  -2462.4101563396    -7.898E-02 1.325E-03 5.065E-01 2.273E-03 8.621E-03
<  ETOT  8  -2462.4112664867    -1.110E-03 7.629E-04 9.312E-02 2.808E-05 8.649E-03
<  ETOT  9  -2462.4113995269    -1.330E-04 3.805E-04 5.110E-03 3.897E-05 8.688E-03
<  ETOT 10  -2462.4114077514    -8.224E-06 4.988E-04 1.067E-05 3.995E-05 8.728E-03
<  ETOT 11  -2462.4114077989    -4.751E-08 6.692E-05 1.857E-06 9.352E-06 8.719E-03
<  ETOT 12  -2462.4114078035    -4.654E-09 6.397E-05 2.361E-07 1.990E-06 8.721E-03
<  ETOT 13  -2462.4114078038    -2.597E-10 2.520E-05 2.093E-08 2.863E-07 8.721E-03
<  ETOT 14  -2462.4114078038    -8.640E-12 5.826E-05 6.588E-11 6.879E-08 8.721E-03
<  ETOT 15  -2462.4114078037     8.322E-11 3.389E-05 1.100E-11 4.445E-09 8.721E-03
<  ETOT 16  -2462.4114078038    -3.593E-11 5.722E-05 1.324E-12 8.314E-09 8.721E-03
---
>  ETOT  1  -2367.2721415410    -2.367E+03 6.702E-03 5.885E+04 2.177E-02 2.177E-02
>  ETOT  2  -2390.3825555488    -2.311E+01 2.384E-03 6.550E+04 4.532E-02 6.709E-02
>  ETOT  3  -2457.1229146450    -6.674E+01 4.312E-03 5.023E+03 2.814E-02 3.895E-02
>  ETOT  4  -2459.9690730673    -2.846E+00 4.784E-04 2.088E+03 2.201E-02 1.694E-02
>  ETOT  5  -2461.9267385418    -1.958E+00 6.100E-04 3.081E+02 1.273E-02 4.216E-03
>  ETOT  6  -2462.3274491405    -4.007E-01 4.322E-04 6.312E+01 6.787E-03 1.100E-02
>  ETOT  7  -2462.4105384131    -8.309E-02 1.239E-03 6.928E-01 2.405E-03 8.599E-03
>  ETOT  8  -2462.4118347978    -1.296E-03 1.187E-03 1.022E-01 4.807E-05 8.647E-03
>  ETOT  9  -2462.4119644214    -1.296E-04 3.547E-04 5.515E-03 4.022E-05 8.687E-03
>  ETOT 10  -2462.4119723249    -7.904E-06 2.410E-04 1.986E-05 4.044E-05 8.727E-03
>  ETOT 11  -2462.4119723848    -5.992E-08 5.000E-05 1.278E-06 8.589E-06 8.719E-03
>  ETOT 12  -2462.4119723881    -3.261E-09 5.128E-05 2.386E-07 1.746E-06 8.721E-03
>  ETOT 13  -2462.4119723883    -2.260E-10 2.665E-05 1.158E-08 2.341E-07 8.720E-03
>  ETOT 14  -2462.4119723883     1.410E-11 5.714E-05 3.477E-10 8.439E-08 8.720E-03
>  ETOT 15  -2462.4119723882     6.048E-11 2.976E-05 8.458E-12 3.422E-09 8.720E-03
>  ETOT 16  -2462.4119723883    -2.547E-11 5.082E-05 4.609E-13 5.691E-09 8.720E-03
790c790
<   for the second time, max diff in force=  8.314E-09 < toldff=  1.000E-08
---
>   for the second time, max diff in force=  5.691E-09 < toldff=  1.000E-08
793,795c793,795
<   sigma(1 1)= -1.95972962E-03  sigma(3 2)=  0.00000000E+00
<   sigma(2 2)= -1.95972962E-03  sigma(3 1)=  0.00000000E+00
<   sigma(3 3)= -4.02807783E-04  sigma(2 1)=  0.00000000E+00
---
>   sigma(1 1)= -1.96003380E-03  sigma(3 2)=  0.00000000E+00
>   sigma(2 2)= -1.96003380E-03  sigma(3 1)=  0.00000000E+00
>   sigma(3 3)= -4.02834615E-04  sigma(2 1)=  0.00000000E+00


And the end:

Code: Select all

<     Kinetic energy  =  9.93690167645823E+02
<     Hartree energy  =  3.93717696421584E+02
<     XC energy       = -3.91751742048772E+02
<     Ewald energy    = -2.08525423378056E+03
<     PspCore energy  =  1.75110024949479E+02
<     Loc. psp. energy= -1.40544743655025E+03
<     NL   psp  energy= -1.42757589113189E+02
<     >>>>>>>>> Etotal= -2.46269311247589E+03
---
>     Kinetic energy  =  9.92681913601260E+02
>     Hartree energy  =  3.97516902571849E+02
>     XC energy       = -3.91413261787718E+02
>     Ewald energy    = -2.07591361589307E+03
>     PspCore energy  =  1.73187834946967E+02
>     Loc. psp. energy= -1.41623621628367E+03
>     NL   psp  energy= -1.42628729430565E+02
>     >>>>>>>>> Etotal= -2.46280517227495E+03
11455c7955
<     Total energy(eV)= -6.70132876129595E+04 ; Band energy (Ha)=  -2.8028492323E+02
---
>     Total energy(eV)= -6.70163369151671E+04 ; Band energy (Ha)=  -2.8390950347E+02


I do not know why this problem occurs. Is it a problem with the input file? Or could this be a bug of abinit ?
Chris

Re: Abinit 7.2.1 MPI Same input file different output file

Posted: Thu Jul 11, 2013 6:00 pm
by torrent
Hi Chris,

The results are not "completely" different !!
This simply means that you are converged with respect to the FFT grid (ecut...)

The size of the FFT grid is automatically adapted by ABINIT to the "npfft" input keyword (npfft must divide nfft).
In your case : 60x60x64 -> 64x64x64
If the results are differents, this means that you are not converged.

If you want to obtain exactly the same results you should impose the ngfft keyword constant... but npfft has to divise it.
... or increase ecut....