[DFTB-Plus-User] Extremely slow MD

Abdullah Bin Faheem abdullahbinfaheem at hotmail.com
Fri Apr 23 19:54:00 CEST 2021


Dear Bálint,

Thank you for your response.  I think it might be a compilation problem. I will look into it. I used MPI (OMP_NUM_THREADS=1 miprun -np 30) as I believed it would give better performance. This is because I observed that when I compiled without MPI, and set the OMP_NUM_THREADS environment variable to say 20, only 8 threads would actually be used.

By slow, I meant taking one day just for 10-15 MD steps. I don't think it's a ram issue as 120GB of ram was available.

As per your suggestion, I also downloaded the precompiled executables of dftb+ 20.2.1 and 19.1 from the website compared them to the performance of dftb+ 19.1 (it was compiled with MPI) compiled on my machine. I used OpenMP for this purpose (OMP_NUM_THREADS=30 for all three) and used a simple simulation box of water molecules (792 atoms) and found that a single MD step takes more than 10 times longer when using the dftb+ compiled on my machine. For example, the precompiled executables take 18 to 20 seconds, while the one on my machine takes 300 seconds.

Best regards,
Abdullah

________________________________
From: DFTB-Plus-User <dftb-plus-user-bounces at mailman.zfn.uni-bremen.de> on behalf of Bálint Aradi <aradi at uni-bremen.de>
Sent: Friday, April 23, 2021 6:54 PM
To: dftb-plus-user at mailman.zfn.uni-bremen.de <dftb-plus-user at mailman.zfn.uni-bremen.de>
Subject: Re: [DFTB-Plus-User] Extremely slow MD

Dear Abdullah,

first of all, please use the most recent version. Download the binary
directly from the website or install it via conda, to make sure, it is
not a compilation problem.

Otherwise, is hard to say. What do you mean by slow. Also, do you use
parallelism? If yes, which one (OpenMP or MPI)? Does your machine has
enough RAM? (Maybe the process is swapping?)

Best regards,

Bálint

On 20.04.21 17:11, Abdullah Bin Faheem wrote:
> Dear DFTB+ users,
>
> I am using DFTB+ 19.1 to run MD of a box of water molecules, with
> graphene and CaF2 layers (882 atoms) and using the 3ob parameters for
> DFTB3. However, it takes a very long time to finish even one MD step. I
> have tried to use different Solvers (ELPA, NTPoly, OMM), but it does not
> make a difference. I am using the MPI version of DFTB+ and have tried
> out using 6, 12, 15, and 30 mpi processes, but it does not improve the
> results. Changing the Mixer from Broyden to Anderson gives the same time
> results.
>
> The input file is as follows:
>
> Geometry = GenFormat {
> 882 S
>   Ca F C O H
>      1 1    0.7202443272E-01    0.7032980539E+01    0.4107560989E+01
>      2 1    0.4004118083E+01    0.6999144781E+01    0.4161273297E+01
>      3 1    0.7890550957E+01    0.7070604493E+01    0.4106813778E+01
>      4 1    0.1168937823E+02    0.7005426600E+01    0.4039285473E+01
>      5 1    0.9944288762E-01    0.2736434439E-01    0.4168457924E+01
> .
> .
> .
>    877 4    0.1421618759E+02    0.6309258063E+01    0.3225699778E+02
>    878 5    0.1353106869E+02    0.6940379596E+01    0.3241309410E+02
>    879 5    0.1509388546E+02    0.6646394136E+01    0.3226620183E+02
>    880 4    0.7717108287E+00    0.7430108512E+01    0.4311866219E+02
>    881 5    0.1500101168E+01    0.6928998668E+01    0.4275502506E+02
>    882 5    0.4968721117E+00    0.7268172745E+01    0.4401107775E+02
> 0.0000 0.0000 0.0000
> 16.500 0.0000 0.0000
> 0.0000 14.900 0.0000
> 0.0000 0.0000 69.000
> }
> Driver = VelocityVerlet {
>    MovedAtoms = 1:-1
>    Steps = 1
>    TimeStep [Femtosecond] = 0.5
>    MDRestartFrequency = 1
>    Thermostat = NoseHoover {
>      Temperature [Kelvin] = 298.00
> CouplingStrength [cm^-1] = 3200
>    }
>    OutputPrefix = "geo_end"
> }
>
> Hamiltonian = DFTB {
>    Solver = ELPA {
>    Mode = 2
>    }
>    Mixer = Anderson {
>    MixingParameter = 0.2
>    }
>    SCCTolerance = 1.000E-004
>    ForceEvaluation = Dynamics
>    SCC = Yes
>    SlaterKosterFiles = Type2FileNames {
>    Separator = "-"
>    Suffix = ".skf"
>    }
>    Filling = Fermi {
>    Temperature [Kelvin] = 298
>    }
>    MaxSCCIterations = 300
>    ReadInitialCharges = No
>    MaxAngularMomentum {
>      O = "p"
>      H = "s"
>      C = "p"
>      F = "p"
>     Ca = "p"
>    }
>    ThirdOrder = Yes
>    HubbardDerivs {
>     O = -0.1575
>     H = -0.1857
>     C = -0.1492
>     F = -0.1623
>     Ca = -0.0340
>    }
>    Dispersion = DftD3 {
>     Damping = BeckeJohnson {
>      a1 = 0.746
>      a2 = 4.191
>    }
>      s6 = 1.0
>      s8 = 3.209
>   }
>    HCorrection = Damping {
>    Exponent = 4.00
>   }
> KPointsAndWeights = {
>      1 0 0
>      0 1 0
>      0 0 1
>   0.5 0.5 0.5
>    }
> }
> Options {
>    WriteAutotestTag = Yes
>    WriteChargesAsText = Yes
> }
> Parallel {
>    UseOmpThreads = no
>    Groups = 3
>   }
>
> Is there perhaps something wrong with my approach? Any suggestions would
> be greatly appreciated. Thank you for your time.
>
> Regards,
> Abdullah
>
> _______________________________________________
> DFTB-Plus-User mailing list
> DFTB-Plus-User at mailman.zfn.uni-bremen.de
> https://mailman.zfn.uni-bremen.de/cgi-bin/mailman/listinfo/dftb-plus-user
>


--
Dr. Bálint Aradi
Bremen Center for Computational Materials Science, University of Bremen
http://www.bccms.uni-bremen.de/cms/people/b-aradi/


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.zfn.uni-bremen.de/pipermail/dftb-plus-user/attachments/20210423/843016b6/attachment.htm>


More information about the DFTB-Plus-User mailing list