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

    Status: Open => Answered

Robert Caulk proposed the following answer:
Hello,

I suppose you could look through the source code to see how it is
implemented [1]. Also, the interesting history of Yade and some comments
on how it is parallelized can be found here [2]:

"Parallelization and performance have been subjects of continuous brainstorming 
over the
years (Šmilauer 2007, Jakob 2012, Thoeni 2013, Eulitz 2014, Chareyre 2014, 
Smilauer 2014)
even though flexibility has been the primary objective of the design. Šmilauer 
accomplished
the shared memory parallelization of important loops (mainly contacts update 
and newton
integration) using OpenMP. After parallelization of the last non-parallel 
section (collision
detection22) by the author, the code was fully OpenMP parallelized. The shared 
memory
approach was, of all possible strategies, the easiest to implement. It can 
improve the
performances by factors up to 7 or 8 for typical large problems on multicore 
systems (Eulitz
2014). It does not benefit further from large clusters though. This is probably 
where Yade
under-performs some of the other DEM codes23. One cure is known: domain 
decomposition
for taking advantage of distributed memory systems (MPI), possibly nesting 
OpenMP
parallelism. Clearly, the lack of manpower is the reason why it did not happen 
yet. Besides,
experiments on many-core computers are still to be performed (Intel's Xeon-Phi 
coprocessors)
; again the man-hours involved in the compilation and the tuning/benchmarking
steps is the limiting factor."

Cheers,

Robert

[1]https://github.com/yade/trunk
[2]http://people.3sr-grenoble.fr/users/bchareyre/pubs/Chareyre2015.pdf

-- 
You received this question notification because your team yade-users is
an answer contact for Yade.

_______________________________________________
Mailing list: https://launchpad.net/~yade-users
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yade-users
More help   : https://help.launchpad.net/ListHelp

Reply via email to