Solver manager
Because of #142 (closed) I can't write a proper markdown-based description thus I upload a screenshort ...
- remove former
StateBlock
notification list -
StateBlock::getState
returns by copy - remove
StateBlock::getPtr
Merge request reports
Activity
added enhancement label
assigned to @jsola
@jsola @joanvallve This is wip and I'm looking forward to your feedback !
Some tests are crashing, other failing, but you should get the intend here.
Edited by Jeremie DeraySince the solver (Ceres) is holding a raw pointer to the StateBlock data vector, there are basically no way of ensuring there won't be any data-race. One could add a mutex to each and every StateBlock and lock it the time the solver is executing but that would prevent any other access to the StateBlock during that time.
Tests are fixed in the sense that that are all running, but 3 of them are failing. They also fail on master branch.
Looks like it is precision related, my machine is a mess \crying.
@jsola can you please try to run the tests on master then on this branch and let me know if there are differences please.@artivis make_unique.h was a soft-link, fix dat.
added 11 commits
- 55ef83e9 - add make_unique.h
- 9752a540 - use unique_ptr instead of raw ptr
- 589ff6ee - embed notification within StateBlock class
- 57927e1d - StateBlock func constness
- 5267ac22 - update StateBlock notificationList
- 49dde8c4 - add solver_manager
- 4af7703f - ceres_manager inherits from new solver_manager
- fb00557a - fix tests -> change solver_manager
- 3cd5d50a - fix StateBlock notification mechanism
- a7fe6ac8 - former solver_manager messing arround
- 9ab1f53b - ceres_manager do not have to call update
Toggle commit listadded 44 commits
-
9ab1f53b...9d5dafde - 27 commits from branch
master
- a4d5d353 - mv solver -> solver_suitesparse
- 6382cffa - ceres_manager indentation
- 176da6e7 - add make_unique.h
- 27ccb967 - use unique_ptr instead of raw ptr
- 57ac7c40 - embed notification within StateBlock class
- 0951653c - StateBlock func constness
- 2a8100c5 - update StateBlock notificationList
- 546200e4 - add solver_manager
- bc67170c - ceres_manager inherits from new solver_manager
- 6769b925 - fix tests -> change solver_manager
- 584996ab - fix StateBlock notification mechanism
- 3f885435 - former solver_manager messing arround
- ab69e89e - ceres_manager do not have to call update
- 2c9ea7de - rename Notification::UPDATE -> Notification::STATE_UPDATE
- 928494d5 - removed formed stateblock notif list
- 7553ba1b - add mutex to ProcessorBase and use it in ProcessorMotion::keyFrameCallback
- a08ccfc2 - ProcessorMotion::keyFrameCallback for time tolerance
Toggle commit list-
9ab1f53b...9d5dafde - 27 commits from branch
Jeremie: several things, in order of importance.
- I could not compile your branch as-is. In particular, I cannot compile
gtest_constraint_autodiff.cpp
. Issues withgetPtr()
indicate me that your CMakeFiles or installation configuration is not even trying to compile it in your machine. Please have a look -- you probably want to discuss it with jvallve: maybe he just convinces you to leavegetPtr()
alive... - I could not merge to master without quite a few conflicts. This is normal since master has evolved since your MR -- sorry for the delay, I do not catch up.
Please address issue 1, we will see after what to do with 2.
PS: I include error log in snippet below.
Edited by Joan Solà Ortega- I could not compile your branch as-is. In particular, I cannot compile