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

Igor Popov rrobinovic at yahoo.com
Thu Mar 22 17:41:41 CET 2018


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.fysik.dtu.dk/pipermail/ase-users/attachments/20180322/20986f2f/attachment.html>


More information about the ase-users mailing list