← Back to team overview

yade-dev team mailing list archive

Re: Regression in ForceResetter?

 

I didn't know the name "merge sort", but actually that is more or less what the parallel version is doing: insertSort'ing small sublists then merging them. Worth a try to implement it serial for iteration 1, although the cost of iteration 1 is not a big issue in general.
Bruno


On 09/16/2016 07:22 PM, Anton Gladky wrote:
I have some thoughts about initial sort. It looks like
insertion sort is not especially good if the list is not
pre-sorted. For that case it looks like merge sort should
work much better.

Regagrds

Anton


2016-09-16 17:43 GMT+02:00 Bruno Chareyre <bruno.chareyre@xxxxxxxxxxxxxxx>:
Pardon my 2nd email, it is irrelevant.
Back to the o.p.: I just checked  https://yade-dem.org/wiki/Performance_Test
And the results are somehow similar, large times are allotted to force
resetter in parallel executions of "yade --performance".
So it is not a recent regression.

Something noticeable in Alexander's timing is that the rel time of the
resetter decreases when the number of time iterations is decreased.
It seems there is a constant cost at play in the first iteration. The cost
seem to approach 10% for longer simulations, that's ok maybe.
Cheers
Bruno


On 09/16/2016 09:42 AM, Eulitz, Alexander wrote:

Hi Bruno,

do you think that the problem exists for a while or when did openMP issues
arise?

regards

Alex



Von: Yade-dev
[mailto:yade-dev-bounces+alexander.eulitz=iwf.tu-berlin.de@xxxxxxxxxxxxxxxxxxx]
Im Auftrag von Bruno Chareyre
Gesendet: Freitag, 16. September 2016 00:19
Cc: Yade developers
Betreff: Re: [Yade-dev] Regression in ForceResetter?



Wait...

Now I realize that the timings are weird. Real times are the same, relative
times are different.

It could be that the counting is wrong. Something system/hardware dependent.

We have troubles with openMP at the moment. So forget it.

Thanks for the link anyway Anton.

B



On 15 September 2016 at 19:42, Anton Gladky <gladky.anton@xxxxxxxxx> wrote:

Hi Bruno,

the only more-less relevant commit is the following [1]. Try to comment
that line and check, whether the regression is no more visible. If it
is so, that problem (described in commit log) should be solved by
more elegant way.

[1]
https://github.com/yade/trunk/commit/07940b52ac31597c07d9d98f2891311d7e6d8e0e

Cheers

Anton



2016-09-15 19:23 GMT+02:00 Bruno Chareyre <bruno.chareyre@xxxxxxxxxxxxxxx>:
Hello all,

I just noticed something I don't think I've ever seen before.
I'm wondering if some recent changes in force containers (I've seen some
by
Anton IIRC) could explain that.
Below are the outputs of "yade --performance" and "yade -j6 --performance"
(same build).
With -j1 the force resetter takes 3.55% of the total cpu time, not
negligible but ok, we can live with that.
With -j6 the absolute time it takes is multiplied by 3 almost, reaching
21%
in terms of rel. time. This is huge and seriously degradate the
performance
of the parallel run.

Could someone confirm this?

Bruno
______________________
1 CORE

number of bodies 47323

Elapsed  66.9550299644  sec
Performance  20.9095567688  iter/sec
Extrapolation on 1e5 iters  1.32847281675  hours
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Name Count                 Time            Rel. time

-------------------------------------------------------------------------------------------------------
ForceResetter                                      1400 2373474us
3.55%
InsertionSortCollider                                39 4636343us
6.93%
InteractionLoop                                    1400 49261433us
73.62%
NewtonIntegrator                                   1400 10642155us
15.90%
TOTAL 66913407us              100.00%
_______________________
6 CORES

number of bodies 47323

Elapsed  29.4499371052  sec
Performance  47.5383018646  iter/sec
Extrapolation on 1e5 iters  0.584324148912  hours
=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*
Name Count                 Time            Rel. time

-------------------------------------------------------------------------------------------------------
ForceResetter                                      1400 6370788us
21.66%
InsertionSortCollider                                39 1957601us
6.66%
InteractionLoop                                    1400 13912593us
47.30%
NewtonIntegrator                                   1400 7174500us
24.39%
TOTAL 29415483us              100.00%

--
_______________
Bruno Chareyre
Associate Professor
ENSE³ - Grenoble INP
Lab. 3SR
BP 53
38041 Grenoble cedex 9
Tél : +33 4 56 52 86 21
Fax : +33 4 76 82 70 43
________________

Email too brief?
Here's why! http://emailcharter.org



_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp
_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp





_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp



_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp

_______________________________________________
Mailing list: https://launchpad.net/~yade-dev
Post to     : yade-dev@xxxxxxxxxxxxxxxxxxx
Unsubscribe : https://launchpad.net/~yade-dev
More help   : https://help.launchpad.net/ListHelp




References