← Back to team overview

yade-users team mailing list archive

Re: [Question #228175]: Accelerate the simulation with CUDA

 

Question #228175 on Yade changed:
https://answers.launchpad.net/yade/+question/228175

    Status: Open => Answered

Bruno Chareyre proposed the following answer:
When movements are slow, the idea of using many virtual interactions works very well, then contact detection (Collider) is done only each 1000 steps or even less. That is why it is not a big part of the total time.
The next expensive operation is to effectively compute  the contact forces (InteractionLoop).

I have to moderate my own statement here. Even if the collider takes only 1% of total time, it doesn't mean that only 1% can be gained by optimizing the collider. There is indeed a balance between collider frequency and number of virtual interactions.
If the collider is faster, we can afford to run it more often, which will reduce the number of virtual interactions  and then reduce the time of InteractionLoop.

Since currently InteractionLoop is parallelized and collider is not, the
optimum for large number of particles in multicore simulations is on the
side of many virtual interactions. If the collider was parallel, it
could significantly move the optimum,  corresponding to a number of
virtual interactions decreased by a factor 2 or even more.

>I simulateed biaxial compression with 11362 particles, using 8 cores
takes about 46 hours and running 2 simulations each with 4 cores takes
about 98 hours

It sounds like you did not run the second case correctly. Are you sure the 2 simulations were computed in parallel or one after the other? In batch mode, you have to pass option -j2 if you want two simultaneous  jobs. 
Also, is it really 11362 or is there a typo? With this number of particles you should get the result in minutes.

-- 
You received this question notification because you are a member of
yade-users, which is an answer contact for Yade.