← Back to team overview

yade-users team mailing list archive

Re: parallel?

 

 
> What is the parallel structure used in YADE? I remember in one mail
> (from email-list), it is said that YADE does not use the domain
> decomposition method, then what is the parallel method?

Yade parallelizes loops over bodies and interactions using openMP; see
notably 

http://bazaar.launchpad.net/%7Eyade-dev/yade/trunk/annotate/head%
3A/pkg/common/Engine/MetaEngine/InteractionDispatchers.cpp#L40

http://bazaar.launchpad.net/%7Eyade-dev/yade/trunk/annotate/head%
3A/pkg/dem/Engine/StandAloneEngine/NewtonsDampedLaw.cpp#L57

Speedup depends very much on the computer architecture, RAM speed, cache
size etc (openmp is shared-memory parallelization). I have speedup over
3x on 4 cores (i7 with ddr3 ram) and recently I had 5.78 on a 2x4core
Xeon X5570.

I don't know of anyone running on something larger than 8 cores; it
might scale further, especially for large simulation, where the openMP
overhead and the non-parallel portions of computation (collider, for
instance) don't play large role.

(If you have 2 engines that don't touch the same data and are
independent, there is ParallelEngine for that, but I don't know of any
case where it really pays off; maybe the coupling problems could benefit
from that)

Cheers, Vaclav




Follow ups

References