-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Release Python GIL in Eigen API #5888
base: main
Are you sure you want to change the base?
Conversation
in estimate normals, optimize pose graph, fpfh computation. Allow Python multithreading for these operations. Resolves #5837
Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes. |
Hi @ssheorey , should we also release the pyhton GIL for methods of tensor based PointCloud? |
Updated PR to be more comprehensive. Added user notes about potential benefits and user warning. |
Pleasy please give it a watch? I have a very involved program and calculating fpfh features on the main process would be very cumbersome. Thanks to everyone for the wonderful work. |
@ssheorey is there any significant changes required? Otherwise I think we can make it ready for review? |
@theNded This PR removed the GIL for all eigen based functions and many unit tests failed. I need to look at each of the failing unit tests and selectively remove GIL. It may take some time for me to get around to this. |
I can do this if these are the only required changes. |
Yes that should be all. Thanks for picking this up! |
Type
Motivation and Context
Release Python GIL in estimate normals, optimize pose graph, fpfh computation. Allow Python multithreading for these operations.
Update: Release Python GIL in most Eigen API functions for geometry and pipelines. Updates to visualization, ML and newer Tensor API modules is future work.
Note to users:
Checklist:
python util/check_style.py --apply
to apply Open3D code styleto my code.
updated accordingly.
results (e.g. screenshots or numbers) here.
This change is