Skip to content
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

Running out of memory! #19

Open
Levi-Armstrong opened this issue Dec 12, 2019 · 5 comments
Open

Running out of memory! #19

Levi-Armstrong opened this issue Dec 12, 2019 · 5 comments
Labels
question Further information is requested

Comments

@Levi-Armstrong
Copy link
Collaborator

Levi-Armstrong commented Dec 12, 2019

This can quickly become an issue when you have more than a few free degrees of freedom. A quick way to address this, if you cannot limit the search space of the free degree of freedom is increase your swap space. This can easily be done now on Ubuntu 18.04 and newer shown here.

@Levi-Armstrong Levi-Armstrong added the question Further information is requested label Dec 12, 2019
@marip8
Copy link
Collaborator

marip8 commented Jan 21, 2021

We should consider using Eigen's half float definition per your comment here

@marip8
Copy link
Collaborator

marip8 commented Dec 13, 2023

Some interesting heap profiling results from gperftools heap profiler using the benchmark executable

10 DOF, 1000 waypoints, 100 samples/waypoint

Ladder Graph (double) (168 MB)

ladder_graph_double_10-dof-1000-waypoints_100-samples

Ladder Graph (float) (89 MB)

ladder_graph_float_10-dof_1000-waypoints_100-samples

10 DoF, 2000 waypoints, 100 samples/waypoint

Ladder Graph (double) (337 MB)

ladder_graph_double_10-dof_2000-waypoints-100-samples

Ladder Graph (float) (177 MB)

ladder_graph_float_10-dof_2000-waypoints_100-samples

10 DoF, 100 waypoints, 1000 samples/waypoint

Ladder Graph (float) (767 MB)

ladder_graph_float_10-dof_100-waypoints_1000-samples

BGL Dijkstra Static Vertex Dynamic Edge (float) (8069 MB)

bgl_svde_float_10-dof_100-waypoints_1000-samples

BGL Dijkstra Static Vertex Static Edge (float) (8368 MB)

bgl_dijkstra_svse_float_10-dof_100-waypoints_1000_samples

@Levi-Armstrong
Copy link
Collaborator Author

BGL is consuming a significant amount of memory compared to the Ladder Graph implementation.

@marip8
Copy link
Collaborator

marip8 commented Dec 13, 2023

BGL is consuming a significant amount of memory compared to the Ladder Graph implementation.

Yeah; pretty surprising. That implementation is also only supposed to allocate edges when the Dijkstra search chooses to open a node, so theoretically it could allocate fewer edges than the ladder graph

@marip8
Copy link
Collaborator

marip8 commented Dec 13, 2023

BGL is consuming a significant amount of memory compared to the Ladder Graph implementation.

Yeah; pretty surprising. That implementation is also only supposed to allocate edges when the Dijkstra search chooses to open a node, so theoretically it could allocate fewer edges than the ladder graph

I just ran a profile of the BGL static vertex static edge (SVSE) solver which adds all vertices and edges, and it only uses ~300MB more (~3.5%) memory than the supposedly more efficient SVDE solver

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants