yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #12835
Re: Regression in ForceResetter?
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
>
Follow ups
References