Scaling of Yade with the number of particles

Asked by Luc Scholt├Ęs on 2021-02-10

Hi all,

Just wondering, how does the latest versions of Yade perform with respect to other DEM codes (e.g., Esys, PFC)?

One of my colleague asked me about it but I could not really answer. Also, IIRC, efforts have been made recently to enhance the code efficiency but I could not find any quantitative evidences (also, [1] does not show anymore, for me at least).

Thanks in advance for your answer(s).



Question information

English Edit question
Yade Edit question
No assignee Edit question
Last query:
Last reply:
Robert Caulk (rcaulk) said : #1

Good question,

We are working on a collaboration between 5 or 6 of the other open-source DEM codes to compare performance/"accuracy." It is an initiative started by Thomas over at Mercury. Esys is included, so is LIGGGHTS, but obviously, there is no PFC. I will report back to this thread when results are in.

I guess the results should be here within the next couple of months - as most groups have finished building the tests. You can see the tests we are working on here [1].

Also, Bruno probably has some sound arguments for how Yade would beat out other codes using MPI in certain conditions and at certain particle counts.

We had some lunch chats at DEM8 in 2019 about the performance of interaction detection. We noticed that Yade's interaction detection was significantly faster than other open-source codes there (ours is 2% of the compute time and theirs was maybe 10% iirc). But I also got the sense that we sacrifice some performance elsewhere due to the extreme flexibility we've adopted wrt combining different materials, physics, laws, etc.

So sorry to not answer your question directly but I guess it always comes down to: it depends.





I am not able to answer either.

I can tell that a typical yade performance on a typical desktop is of the order of 0.5e6 particle*iteration/second.
This "particle*iteration/second" value is sometimes called "Cundall's number", it is a good way to evaluate performance.
Unfortunately I've not been able to know that value for any other code based on the literature.

I agree with Robert's on the fact that, probably, some highly specialized codes should achieve better performances (imagine you have just one contact model and you optimize an entire GPU code for that unique model). That's just a guess though.


Can you help with this problem?

Provide an answer of your own, or ask Luc Scholt├Ęs for more information if necessary.

To post a message you must log in.