Replies: 4 comments 7 replies
-
This is indeed a problem we have in Crocoddyl as well. When we derive a Python implementation of an action model, Crocoddyl deactivates multithreading computations under the hook. I tried to fix this issue a few years ago, but I miserably failed. Do you know how to do it? I am keen to fix this in Crocoddyl. |
Beta Was this translation helpful? Give feedback.
-
process based parallelism like ProcessPoolExecutor can bypass GIL issues. I am not sure if eigenpy data would be serialized between threads, or only pointers to data. In the first case, we would need some shared memory + locks hacks to stay fast I guess. |
Beta Was this translation helpful? Give feedback.
-
CPython 3.13 will provide a |
Beta Was this translation helpful? Give feedback.
-
Thanks @jmirabel for raising this discussion. |
Beta Was this translation helpful? Give feedback.
-
At the moment, all Pinocchio calls takes the GIL during Pinocchio calculations. This is sometimes problematic in multi-threaded Python applications.
For time-consuming operations such as collision detection, it would be convenient to have the ability to release the GIL when Pinocchio performs its calculations. Obviously, this needs the cooperation of the user. Objects used internally should not be used anywhere else.
Beta Was this translation helpful? Give feedback.
All reactions