[CP2K-user] [CP2K:11393] Convergence difference with different number of pocessors for an input

Krack Matthias (PSI) matthia... at psi.ch
Fri Mar 8 19:15:58 UTC 2019


Hi ?

The extension “.psmp” implies that you are using an MPI and OpenMP parallel cp2k executable. Did you define the number of OpenMP threads at runtime, e.g. by setting the environment variable OMP_NUM_THREADS? OpenMP usually behaves greedy, if you do not specify the number of threads, i.e. it might create for each MPI process a number OpenMP threads equivalent to the number of available CPU cores, which will easily overload your compute node. This could explain the weird timings, but there might be other reasons as well. You will have to provide a corresponding output file, if you want to have better guesses as an answer.

Matthias

From: cp... at googlegroups.com <cp... at googlegroups.com> On Behalf Of Mohammad Shakiba
Sent: Freitag, 8. März 2019 19:43
To: cp2k <cp... at googlegroups.com>
Subject: [CP2K:11393] Convergence difference with different number of pocessors for an input

Hello everyone,

I was using CP2K 6.1.0, compiled with intel 17 and 'psmp' version, for ab initio molecular dynamics. My system contains 87 atoms containing Al, O, C and H (an MOF). I had two major questions, please help me to find their answers.

1- When I use 16 number of processors, it takes 2.5 seconds for each OT calculation and when I use 4 processors it takes 2.9 seconds to update OT. When I put the number of processors to 20 it takes 270 seconds (about 5 minutes), put it for 40 it takes 140 seconds and if I put it for 12 processors it takes more than a minute for each update. My question here is just WHY? the following questions are:
Is there an optimum number of processors? How can I define that? When should we use a high number of processors? I have used command 'mpirun -np $nprocessors cp2k.psmp -i $input -o $output'.

2- I used 16 number of processors and 4 number of processors. For 'mpirun -np 16', it does not converge but for 'mpirun -np 4' it converges slightly to the target convergence. I have changed the following commands but the convergence for 16 number of processors did not change. Can you explain why? What would be the solution to obtain convergence for 16 number of processors?

Thanks in advance.

I summarize the commands in the attached input file:

RUN_TYPE MD

!FORCE_EVAL
METHOD Quickstep

!QS
METHOD GPW

EXTRAPOLATION ASPC

PERIODIC NONE

PSOLVER  MULTIPOLE

SCF_GUESS ATOMIC

EPS_SCF 1.0E-6

PRECONDITIONER FULL_SINGLE_INVERSE ! I also used FULL_ALL

MINIMIZER DIIS ! I also used CG but it converges very slightly and sometimes there is no change in the convergence

OPTIMIZER BFGS

ENSEMBLE NVT

TYPE NOSE


--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+uns... at googlegroups.com<mailto:cp2k+uns... at googlegroups.com>.
To post to this group, send email to cp... at googlegroups.com<mailto:cp... at googlegroups.com>.
Visit this group at https://groups.google.com/group/cp2k.
For more options, visit https://groups.google.com/d/optout.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20190308/c2c56816/attachment.htm>


More information about the CP2K-user mailing list