[ase-users] OpenMp-capable DFTB+ runs only in a single thread

daniele selli daniele.selli at unimib.it
Thu Apr 12 22:12:39 CEST 2018


It might seems trivial, but have you exported the OMP_NUM_THREADS variable
to be equal to the number of cores avaible in your machine when submitting
the calculation?

Daniele

On Thu, Apr 12, 2018, 21:35 Jens Jørgen Mortensen <jjmo at dtu.dk> wrote:

> Den 23-03-2018 kl. 14:57 skrev Igor Popov via ase-users:
>
> Has anybody a hint/answer to this question? I believe it is something
> simple (environment variable or so),
> but I can't find answer in the ASE manual pages.
>
>
> Do we have any DFTB+ experts out there?  Daniele, Gianluca?
>
> Jens Jørgen
>
>
>
>
>
> On Thursday, 22 March 2018, 17:58, Igor Popov via ase-users
> <ase-users at listserv.fysik.dtu.dk> <ase-users at listserv.fysik.dtu.dk> wrote:
>
>
> Hi all,
>
> I am running a geometry optimization with DFTB+ as a calculator (openMP
> version of DFTB+ code).
> It uses only one CPU core, whereas the same DFTB+ executable uses all CPU
> cores when
> running independently of ASE (i.e. as a stand-alone). It also holds when I
> use dftb_in.hsd
> generated by ASE.
>
> My question is how to make DFTB+ to use all cores with openMP.
>
> My Python code is:
>
> from ase import Atoms
> from ase.io import read
> from ase.calculators.dftb import Dftb
>
> bulk = read('start.gen')
>
> calc = Dftb(label='mxene',
>                                                 atoms=bulk,
>                                                 kpts=(8,1,1),
>
> Hamiltonian_MaxAngularMomentum_='',
>
> Hamiltonian_MaxAngularMomentum_Mo='d',
>
> Hamiltonian_MaxAngularMomentum_C='p',
>                                                 Hamiltonian_SCC='yes',
>
> Hamiltonian_SCCTolerance=1E-7,
>
> Hamiltonian_MaxSCCIterations=300,
>                                                 Hamiltonian_Filling =
> 'Fermi {Temperature [Kelvin] = 30.0}',
>                                                 Driver_='',
>
> Driver_ConjugateGradient_='',
>
> Driver_ConjugateGradient_MaxForceComponent = '1E-4',
>
> Driver_ConjugateGradient_MaxSteps = '0',
>
> Driver_ConjugateGradient_ConvergentForcesOnly = 'No'
>            )
> from ase.calculators.loggingcalc import LoggingCalculator
> log_calc = LoggingCalculator(calc)
> bulk.set_calculator(calc)
>
> from ase.optimize.precon import Exp, PreconLBFGS
> opt = PreconLBFGS(bulk,precon=Exp(A=3),
> use_armijo=True,trajectory='opt.traj', logfile='log')
> opt.run(fmax=0.04)
>
> Thanks in advance,
> Igor
>
> _______________________________________________
> ase-users mailing list
> ase-users at listserv.fysik.dtu.dk
> https://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
>
>
>
> _______________________________________________
> ase-users mailing listase-users at listserv.fysik.dtu.dkhttps://listserv.fysik.dtu.dk/mailman/listinfo/ase-users
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20180412/0e1db8b2/attachment-0001.html>


More information about the ase-users mailing list