-
Notifications
You must be signed in to change notification settings - Fork 417
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Substantial increase in memory required to build between v2.2 and v2.3 #1074
Comments
There is no apparent reason I would say, except for a change in Boost. This is happening for the Python bindings or the unit tests? |
On your side, can you compile the Python bindings without exposition of Data and Model? |
Or by just commenting the lines: pinocchio/bindings/python/multibody/model.hpp Line 331 in 7765909
and: pinocchio/bindings/python/multibody/model.hpp Line 328 in 7765909
|
I am using the default CMake settings as if you were to run |
By the way, the bindings of Crocoddyl are not done correctly. The exposition is not made in individual files, requiring a lot of memory usage. |
Sorry, I should have been clearer: a) We see the increase in compiling just Pinocchio with its default CMake settings. This is what causes the ROS buildfarm to fail. It also makes the notebook ache/swap a lot. b) In Crocoddyl, we see peaks of 40-50GB RAM usage when using 16 threads to compile. I am mainly interested in solving (a) right now. |
I think this is coming then from the serialization. I may find a trick to avoid this burden in memory. |
This is an example output in case it helps debugging:
|
Yes, I will deactivate this test by default. |
This is due to Boost.Multiprecision rootings. |
#1079 partially solves the issue. The last missing point is the visitor test. |
Thank you for the record-time resolution of this :-) |
@wxmerkt Do we need a new release to get the latest change on the ROS build farm? |
Yes, please. |
Parallel builds exhaust memory. Until a better solution is found, use only one job. See stack-of-tasks/pinocchio#1074
I've noticed this on my notebook with 16 GB before and it's currently failing on the ROS buildfarm (i.e., releases beyond 2.2.1 may not work):
The changes between 2.2.1 and 2.3.0 increased memory usage substantially. E.g., with 16 GB memory I can only build with a maximum of 2 threads without exhausting the built-in memory. Using 16 threads I needed ~40-50 GB memory (for Crocoddyl).
Do you have any insights what caused the increase in memory requirement to build between 2.2 and 2.3 and is there the possibility to reduce it?
The text was updated successfully, but these errors were encountered: