yade-dev team mailing list archive
-
yade-dev team
-
Mailing list archive
-
Message #14950
Re: High precision Real and minieigen
-
To:
Anton Gladky <gladky.anton@xxxxxxxxx>, Yade developers <yade-dev@xxxxxxxxxxxxxxxxxxx>
-
From:
"Janek Kozicki (yade)" <jkozicki-yade@xxxxxxxxx>
-
Date:
Sun, 23 Feb 2020 22:34:05 +0100
-
Face:
iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAALVBMVEUBAQEtLS1KSkpRUVFXV1dYWFhjY2Nzc3N3d3eHh4eKioqdnZ24uLjLy8vc3NxVIagyAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH2AIVEzgS1fgQtQAAAjRJREFUOMtt1DFv00AUAOAzFQNbjigSyoQaRaBMhKgLUyKXpVNNeUpk9vyDqFJhQ1kiBuaqAwJCqvPtSLY7RlTn5+5IdnYkkt/AOyfxXVLe5vf53Z1875kd34tOEax8djmj6GyjhB5bxz50GdsVZr9fqRjZwAtKOJw5Wqs2MMZ16ALHsaDncF7xAHix1oEFHAB8f+pRjcO4gfZDykcYzbiucRolOLUJ6kjA0xtVt+A6TySlM0RajIpK6DzwKZ/nOYbF/gclHMo1ZOHYY/+Ha+AWuM+3oMS4eeqYzZ8FiCltgUqI8cd2wwAVpJk+8LWYjBtnJdQpHQqJMd4Oxt4bU9ESiFGc5hkqaH74asAX4iabP5I5gZ+qjgGlJCqZa3h3lxhoeVcSE1qLQC4sqKOK9MGW9E3izFqqHokoztLFEgXg31sbZEKnWi2T74A4NxfVQqlkjKtcAWD+zcArFEES01dR0E/nnV0IgugmDd/2L84sOAouRBBHEc7gtc8teDkRlE0iNQPo2w3Xhh/D4TCIQ4LRLoTvgwjj6RRgavdurxYGMaIuGOyAW/PpNlCcU9/93AHenAWYjPoAwa+G3e3to/MgFNTAEKvKDjzuCzHTnY3qqdXtx24VijzQfZ0yewZ5cwRFQaa+mIYr1uI0I76+3W4xhlvoVRwOA0Fdl64HlJnxP6T8YpX/Lga4Wv4A3ErrU5oTfN7Mu/llXMl8RXEPji/lQkN3H7qXqgC2By47EXeU/7PJ/wPxRKMnuZwIeAAAAABJRU5ErkJggg==
-
In-reply-to:
<CALF6qJkJW4CO3boKHkkrLTe=KdwAoOoo2F1pXt+M1jdvwW4sjQ@mail.gmail.com>
-
Organization:
Gdańsk University of Technology, YADE software
Yes, I think that we can stay with boost::python.
But we need to put minieigen sources back into yade.
best regards
Janek
Anton Gladky said: (by the date of Sun, 23 Feb 2020 22:08:47 +0100)
> Hi Janek,
>
> thanks a lot for this quick tests and results! Really impressive!
>
> As far as I see, there is not benefit for us to replace boost::python,
> at least right now?
>
> Regards
>
> Anton
>
> Am So., 23. Feb. 2020 um 16:02 Uhr schrieb Janek Kozicki (yade)
> <jkozicki-yade@xxxxxxxxx>:
> >
> > > Another note: I just realized that the compilation benchmarks might
> > > have not been fair, because I think that I added few more
> > > registrations (like Vector2c, or sth. like that) while doing pybind
> > > migration. I will compare again without these extra registrations.
> >
> > OK, I have compared with the exact same registrations. And it seems
> > that pybind has many advantages, but not the one that it is compiling
> > faster. See:
> >
> > pybind without debug info; call `ccache --clear` between every invocation.
> > -O3 -j 1 -O3 -j 10
> > wall clock time: 2:41.14 wall clock time: 0:40.67
> > wall clock time: 2:46.56 wall clock time: 0:41.28
> > wall clock time: 2:47.42 wall clock time: 0:42.54
> > wall clock time: 2:43.79 wall clock time: 0:44.70
> >
> > -O1 -j 1 -O1 -j 10
> > wall clock time: 2:09.88 wall clock time: 0:35.00
> > wall clock time: 2:10.78 wall clock time: 0:33.46
> > wall clock time: 2:08.19 wall clock time: 0:32.62
> > wall clock time: 2:10.10 wall clock time: 0:32.73
> >
> > ================================================================================
> > boost::python without debug info; call `ccache --clear` between every invocation.
> > -O3 -j 1 -O3 -j 10
> > wall clock time: 2:16.83 wall clock time: 0:33.88
> > wall clock time: 2:15.96 wall clock time: 0:32.84
> > wall clock time: 2:16.00 wall clock time: 0:34.85
> > wall clock time: 2:16.52 wall clock time: 0:32.32
> >
> > -O1 -j 1 -O1 -j 10
> > wall clock time: 2:01.48 wall clock time: 0:28.56
> > wall clock time: 2:00.70 wall clock time: 0:29.15
> > wall clock time: 2:01.29 wall clock time: 0:28.05
> > wall clock time: 2:00.56 wall clock time: 0:28.35
> >
> > The main pybind disadvantage is unstable API. I don't like writing
> > extra code to support older linux distributions.
> >
> >
> > Also I think that if while copying minieigen into yade we did some
> > extra rebalancing between the .cpp files, so that in each file there's
> > about the same amount of registrations performed, then we could
> > reduce (parallel) compilation time to maybe 25 or 20 seconds.
> >
> >
> > If you wanted to compile and try yourself, the comparison was between
> > branches master and tryPybind. To see how to compile see .gitlab-ci.yml,
> > I'm sorry that it's a bit messy. I was never good at using build
> > systems ;) I just wanted parallel build quickly. That's why I wrote
> > such strange makefile.
> >
> > best regards
> > Janek
> >
> >
> >
> > > Another comparison note:
> > >
> > > 8. boost::python is much more picky about the order of registered
> > > functions, and sometimes does not work if the order is "wrong".
> > > pybind always resolves the function overloads correctly.
> >
> > --
> > --
> > Janek Kozicki, PhD. DSc. Arch. Assoc. Prof.
> > Gdańsk University of Technology
> > Faculty of Applied Physics and Mathematics
> > Department of Theoretical Physics and Quantum Information
> > --
> > http://yade-dem.org/
> > http://pg.edu.pl/jkozicki (click English flag on top right)
--
--
Janek Kozicki, PhD. DSc. Arch. Assoc. Prof.
Gdańsk University of Technology
Faculty of Applied Physics and Mathematics
Department of Theoretical Physics and Quantum Information
--
http://yade-dem.org/
http://pg.edu.pl/jkozicki (click English flag on top right)
References
-
High precision Real.
From: Janek Kozicki (yade), 2020-01-13
-
Re: High precision Real.
From: Janek Kozicki (yade), 2020-01-27
-
Re: High precision Real.
From: Anton Gladky, 2020-01-27
-
Re: High precision Real.
From: Janek Kozicki (yade), 2020-01-27
-
Re: High precision Real. (minieigen patches)
From: Janek Kozicki (yade), 2020-02-03
-
Re: High precision Real and minieigen
From: Janek Kozicki (yade), 2020-02-17
-
Re: High precision Real and minieigen
From: Janek Kozicki (yade), 2020-02-19
-
Re: High precision Real and minieigen
From: Anton Gladky, 2020-02-20
-
Re: High precision Real and minieigen
From: Janek Kozicki (yade), 2020-02-21
-
Re: High precision Real and minieigen
From: Anton Gladky, 2020-02-21
-
Re: High precision Real and minieigen
From: Janek Kozicki (yade), 2020-02-21
-
Re: High precision Real and minieigen
From: Anton Gladky, 2020-02-22
-
Re: High precision Real and minieigen
From: Janek Kozicki (yade), 2020-02-23
-
Re: High precision Real and minieigen
From: Janek Kozicki (yade), 2020-02-23