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)