Simple-Robotics / aligator

A versatile and efficient framework for constrained trajectory optimization
https://simple-robotics.github.io/aligator/
BSD 2-Clause "Simplified" License
106 stars 15 forks source link

aligator-next: new (parallel, block-sparse) Riccati solvers, CHOLMOD integration, split first- and second- order derivatives #157

Closed ManifoldFR closed 4 months ago

ManifoldFR commented 4 months ago

This PR:

I would like to thank the contributors to this PR: @fabinsch, @edantec, @jorisv

Resolves #155

jcarpent commented 4 months ago

Great achievement @ManifoldFR! Bravo!

ManifoldFR commented 4 months ago

Adding this comment here for future reference (it'll be added to the docs)

At time of writing, in the current master branch of Eigen (3.4.90), the global variable which tracks whether allocations are allowed is thread-safe: https://gitlab.com/libeigen/eigen/-/blob/master/Eigen/src/Core/util/Memory.h#L96

But on released versions of Eigen it is NOT, hence any check for mallocs when multithreading is enabled will break as on/off switches for the malloc status will create race conditions.

@edantec

ManifoldFR commented 4 months ago

@jorisv @edantec @fabinsch you guys think we can merge this bad boy ?