[DFTB-Plus-User] TD-DFTB result differes in gcc vs ifort binaries

Krishna Mohan G.P. gpkmohan at yahoo.com
Wed Mar 15 16:07:29 CET 2017


Dear List
I was compiling the new dftb 1.3.1 version with GCC (5.4.1) and ifort (intel parallel_studio_xe_2016_update3).
Both the binarys are OK, but for the Time Dependent DFTB calculations, these binaries are NOT giving consistent result (it is also true for the 1.3.0 version):
For example, I ran NO example (as you can see in the autotest folder...), and both the ifort and gcc binaries give the SAMEvalues for the SCC, as:
>> Charges saved for restart in charges.bin
 Total Energy:                      -5.6213762107 H         -152.9654 eV Total Mermin free energy:          -5.6215518162 H         -152.9702 eV
But if you compare, TDDFTB files, say, EXC.DAT file, it differs!
gcc EXC.DAT------------------------------------------ ifort EXC.DAT --------------------------------------------       w [eV]       Osc.Str.         Transition         Weight      KS [eV]    D<S*S> w [eV]       Osc.Str.         Transition         Weight      KS [eV]    D<S*S>  
        7.478       0.0020987        3   ->     7        0.578       8.534     1.703  7.478       0.0020987        3   ->     6        0.486       8.534     1.703      7.772       0.0000000        5   ->     6        1.000       7.772     0.054  7.772       0.0000000        5   ->     6        1.000       7.772     0.712      7.772       0.0000000        5   ->     7        1.000       7.772     0.945  7.772       0.0000000        5   ->     7        1.000       7.772     0.287      7.793       0.0000000        5   ->     6        0.838       7.793     0.999  7.793       0.0000000        5   ->     6        0.730       7.793     0.999      7.793       0.0000000        5   ->     7        0.838       7.793     0.999  7.793       0.0000000        5   ->     7        0.730       7.793     0.999      8.534       0.0000000        4   ->     7        0.987       8.534     0.999  8.534       0.0000000        4   ->     7        0.734       8.534     0.999      8.534       0.0000000        4   ->     6        0.821       8.534     0.999  8.534       0.0000000        3   ->     7        0.690       8.534     0.999      8.534       0.0000000        3   ->     6        0.996       8.534     0.999  8.534       0.0000000        3   ->     7        0.727       8.534     0.999      8.636       0.0000000        3   ->     6        0.623       8.636     0.500  8.636       0.0000000        3   ->     6        0.922       8.636     0.963      8.636       0.0000000        4   ->     6        0.990       8.636     0.005  8.636       0.0000000        4   ->     7        0.963       8.636     0.088      8.636       0.0000000        3   ->     7        0.987       8.636     0.993  8.636       0.0000000        3   ->     6        0.749       8.636     0.447     11.652       0.4997199        3   ->     6        0.600       8.636    -0.231 11.652       0.4997199        3   ->     7        0.633       8.636    -0.231     13.175       0.0000000        2   ->     7        0.807      13.175     0.999 13.175       0.0000000        2   ->     7        0.992      13.175     0.999     13.175       0.0000000        2   ->     6        0.807      13.175     0.999 13.175       0.0000000        2   ->     6        0.992      13.175     0.999     13.244       0.0000000        2   ->     6        0.973      13.244     0.046 13.244       0.0000000        2   ->     6        0.884      13.244     0.995     13.244       0.0000000        2   ->     7        0.973      13.244     0.953 13.244       0.0000000        2   ->     7        0.884      13.244     0.004     24.369       0.0000000        1   ->     7        1.000      24.369     0.999 24.369       0.0000000        1   ->     6        1.000      24.369     0.999     24.369       0.0000000        1   ->     6        1.000      24.369     0.999 24.369       0.0000000        1   ->     7        1.000      24.369     0.999
For brevity I am NOT showing a full comparison of other files (see below for the attachement for SPX and TRA files generated by gcc and ifort binaries).
I suspect that it is because of ARPACK libraries. In both cases I compiled ARPACK source (ofcourse with Patch for updating ) with  GCC and IFORT (using default settings).
My Linux is SuSE 13.2 32 bit; and for GCC version of binary I use SuSE's <lapack , atlas , f77blas , cblas , atlas > static libraries, and for IFORT version I use, libmkl_intel.a libmkl_intel_thread.a libmkl_core.a apart from the ARPACK .a file compiled by the ifort/gcc.
My Final make shows:
gfortran -fopenmp -o dftb+ dftb+.o shift.o accuracy.o common_types.o allocate.o geoopt.o conjgrad.o linmin.o constants.o diis.o diis_mixer.o lapackroutines.o lapack.o message.o stepdesc.o mainio.o sparse2dense.o memman.o periodic.o sort.o bisection.o linkedlist.o simple_algebra.o blasroutines.o blas.o fifo.o fileid.o charmanip.o linresp.o nonscc.o sk.o slako_cont.o slako_eq_grid.o interpolation.o scc.o coulomb.o error_function.o extcharge.o charge_constraints.o short_gamma.o linresp_grad.o qm.o taggedout.o linresp_common.o arpack.o eigensolver.o initprogram.o stressTensor.o rep_cont.o rep_poly.o rep_spline.o dummy_thermostat.o md_common.o ranlux.o dispersions.o disp_uff_data.o disp_slaterkirkwood.o disp_common.o dispersion_iface.o disp_uff.o disp_dftd3.o dftd3.o orbital_equiv.o nhc_thermostat.o energies.o temp_profile.o simple_mixer.o numericalDerivs.o thirdorder.o charges.o thermostat.o berendsen_thermostat.o andersen_thermostat.o spin.o broyden_mixer.o md_integrator.o velocity_verlet.o inputdata_.o ipisocket.o fsockets.o logger.o optarg.o xlbomd.o ext_lagrangian.o type_geometry.o etemp.o hermite.o fact.o intrinsicpr.o mixer_adt.o anderson_mixer.o scc_init.o dftb_pls_u.o populations.o constraints.o angmomentum.o potentials.o formatout.o xmlf90.o eigenvects.o parser.o stringlist.o hsdutils2.o hsdparser.o xmlutils.o hsdutils.o tokenreader.o unitconversion.o general_list.o oldcompat.o wrapped_pointers.o type_geometry_hsd.o old_sk_data.o densitymatrix.o pipekmezey.o repulsive.o spinorbit.o forces.o  -L./_dir_extlib_xmlf90 -lxmlf90  -L./_dir_extlib_fsockets -lfsockets  -L/usr/lib -llapack -L/usr/lib/atlas -lf77blas -lcblas -latlas libarpack_lingcc5.4.1.a  -L./_dir_extlib_dftd3 -ldftd3 -lgomp

[NOTE: lapack/blas/atlas is supplied by SUSE]
********************************************************************************

ifort -static -o dftb+ dftb+.o shift.o accuracy.o common_types.o allocate.o geoopt.o conjgrad.o linmin.o constants.o diis.o diis_mixer.o lapackroutines.o lapack.o message.o stepdesc.o mainio.o sparse2dense.o memman.o periodic.o sort.o bisection.o linkedlist.o simple_algebra.o blasroutines.o blas.o fifo.o fileid.o charmanip.o linresp.o nonscc.o sk.o slako_cont.o slako_eq_grid.o interpolation.o scc.o coulomb.o error_function.o extcharge.o charge_constraints.o short_gamma.o linresp_grad.o qm.o taggedout.o linresp_common.o arpack.o eigensolver.o initprogram.o stressTensor.o rep_cont.o rep_poly.o rep_spline.o dummy_thermostat.o md_common.o ranlux.o dispersions.o disp_uff_data.o disp_slaterkirkwood.o disp_common.o dispersion_iface.o disp_uff.o disp_dftd3.o dftd3.o orbital_equiv.o nhc_thermostat.o energies.o temp_profile.o simple_mixer.o numericalDerivs.o thirdorder.o charges.o thermostat.o berendsen_thermostat.o andersen_thermostat.o spin.o broyden_mixer.o md_integrator.o velocity_verlet.o inputdata_.o ipisocket.o fsockets.o logger.o optarg.o xlbomd.o ext_lagrangian.o type_geometry.o etemp.o hermite.o fact.o intrinsicpr.o mixer_adt.o anderson_mixer.o scc_init.o dftb_pls_u.o populations.o constraints.o angmomentum.o potentials.o formatout.o xmlf90.o eigenvects.o parser.o stringlist.o hsdutils2.o hsdparser.o xmlutils.o hsdutils.o tokenreader.o unitconversion.o general_list.o oldcompat.o wrapped_pointers.o type_geometry_hsd.o old_sk_data.o densitymatrix.o pipekmezey.o repulsive.o spinorbit.o forces.o  -L./_dir_extlib_xmlf90 -lxmlf90  -L./_dir_extlib_fsockets -lfsockets    -L/home/krishnamohan/intel/compilers_and_libraries_2016.3.210/linux/mkl/lib/ia32_lin -Wl,--start-group -lmkl_intel -lmkl_intel_thread -lmkl_core -Wl,--end-group  libarpack_linifort16.a  -L./_dir_extlib_dftd3 -ldftd3 -liomp5
Also using ARPACK's example(TEST) Fortran files, I checked both of my GCC and IFORT ARPACK libraries and it give SAME result as one can expected!
So I really wonder what is really happening inside the dftb's TD-DFTB part ?
I really think that it is not the case of 32 bit machine or using SuSE's default ATLAS/BLAS libraries.
If someone can give an information it will be very useful.
With thanks in advance
Dr. Krishna Mohan G P
________________________________________________________________________________
dftb_in.hsd, gccEXC, gccSPX, gccTRA are saved in:
https://drive.google.com/file/d/0Bxq8JRPh0W1UZlVjNm5tRkU3U00/view?usp=sharing
https://drive.google.com/file/d/0Bxq8JRPh0W1UVHZQa1FCM0dMSDQ/view?usp=sharing
https://drive.google.com/file/d/0Bxq8JRPh0W1UVUtfZHRnMkJsZTQ/view?usp=sharing
https://drive.google.com/file/d/0Bxq8JRPh0W1UMmRVclViN0JLTDg/view?usp=sharing
Also, the ifortEXC, ifortSPX and ifort TRA are saved in:
https://drive.google.com/file/d/0Bxq8JRPh0W1UOEl2YUR2ZUxGWnc/view?usp=sharing
https://drive.google.com/file/d/0Bxq8JRPh0W1UNWZFR2x3LU5IYWs/view?usp=sharing
https://drive.google.com/file/d/0Bxq8JRPh0W1UN2VJblVPR0g5UFE/view?usp=sharing
_______________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.zfn.uni-bremen.de/pipermail/dftb-plus-user/attachments/20170315/de2c982e/attachment-0001.html>


More information about the DFTB-Plus-User mailing list