Skip to content

Expose the new LagrangianParticleTracker smp implementation

LagrangianParticleTracker has been reimplemented with an smp algorithm. This has an impact on related classes, especially user-developed models.

Here are the results of timings :

Timings with : 8000000 cells flows, 6242 seeds, 8core.

Time (s) Speedup / no SMP Speedup / previous
Previous Implementation 78.324 - -
New Implementation, no SMP 110.027 - 0.7
New Implementation, OpenMP 29.335 3.75 2.66
New Implementation, TBB 22.0638 4.98 3.55

MPI timings, not really relevant as SMP can't be as efficient, but it shows that in this usecase, where particles are not evenly distributed in all partitions, using SMP is much more efficient than using MPI. Here tests are done with -np 4

Time (s)
Previous Implementation, MPI 51.5417
New Implementation, MPI, no SMP 64.8184
New Implementation, MPI, OpenMP 41.9739
New Implementation, MPI, TBB 32.7267
Edited by Mathieu Westphal (Kitware)

Merge request reports