espressomd-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Parallelisation


From: Ahmad Reza Motezakker
Subject: Re: Parallelisation
Date: Wed, 12 Jan 2022 13:35:35 +0000

Dear Rudolf,


Thank you very much for your reply.

I have a suspension of polymers coupled with fluid. (LJ+LB)

Here are the parameters:

box_l = 300*sigma  (box is a cube)

number of polymers = 300

beads per polymer = 26 

All the particles = 300*26 =7800

LJ cut = sigma*(2**(1/6))

l_skin = 8.3 *sigma (set it thid to have 31cells in each direction)

LB cells = 50

number of cells in each direction = 31 


Timing for 100  productive run after setting the system and warming up:

1core     17.824 s

2core      16.22 s

4core      15.93 s

8core       17.83 s


If I want get one node with 128 cores on cluster and only use 4 of them, the cluster support will not be happy.


Best regards,

Ahmad reza


From: Rudolf Weeber <weeber@icp.uni-stuttgart.de>
Sent: Wednesday, January 12, 2022 12:00:26 PM
To: Ahmad Reza Motezakker
Cc: espressomd-users@nongnu.org
Subject: Re: Parallelisation
 
Hi,
> 1- Since Espresso works with LJ units, what is the definition of a small and large system?  All the dimensions are relative but still I am confused. For example, when I talk to other people who works with MD, they talk about million particles but in my system I have at most 40k particles but with very very slow computation speed.
The large particle numbers you mention typically pertain to atomistic simulations. Specialized codes can run these significantly faster than Espresso.
Espresso is optimized for flexibility rather than performance. However, your 40k system should still run reasonably in a prallel simulation.
>
> 2- In the previous email, on the number of CPUs, you mentioned number of cells must be minimum 2 and maximum 32  in each direction. according to my box size, I set l_skin in a way to have around 30 cells in each direction  [ floor(box_l/(LJcut+l_skin))  ]. but no improvement in the calculation time.
That formula just specifies the maximum number of processors, you can use. There is no guarantee that this is the best choice. Just try  1,2,4,8 etc and pick the fastest.
How exactly did you run Espresso with mpirun/mpiexec?
> I should also add that, I have LB fluid in the system, Does the number of LB cells also follow the mentioned rule? I increase the lattice spacing but still no improvement in the timing.
The number of LB cells typically does not limit the parallelization.

>
> 3-During running serial or parallel, my computer ram (64GB+128 swap) will be almost occupied. What is the reason for that? Is there any way to improve that? I just get positions ,velocity and energy.
Most likely the LB fluid. It requires ~500 bytes per lb cell.

What algorithms, number of lb cells number of particles do you have, and how much time do 100 timesteps need?

Regards, Rudolf


reply via email to

[Prev in Thread] Current Thread [Next in Thread]