-
Notifications
You must be signed in to change notification settings - Fork 654
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
Use parallel_for_ to replace multicore switch #167
Conversation
Thanks for the PR! Seem like it would be nice to remove the boost::threads as it seems have have some drawbacks. I will try to find time to review (along with the other issues I need to address on the repo). If you are able to debug why the CI is failing that would help me out and ensure that people are able to use the project out of the box. I see that you included a dockerfile. Is this necessary? |
Thanks for the quick response. I fixed the CI. Dumb copy/pasting mistake. The Dockerfile is not necessary. I can delete it, but I thought that other users might benefit from it. It makes it easier to test OpenVINS without installing ROS to one's physical machine. |
You will likely need to use the I am fine with adding a dockerfile if you provide a small guide / information on how to use and develop with it (or a link to a website that I can use as a reference). I would want to add a documentation page for those coming to the project and want to use it. EDIT: the |
223a012
to
e22f1c6
Compare
e22f1c6
to
39d0070
Compare
|
Thanks, I will be able to merge later part of next week after ICRA wraps up. |
On my machine, thread setup/teardown costs 25us. You can do your own timing here. I think the bigger sell is that it makes performance much easier to analyze using tools like NSight Systems and perf. |
This uses
parallel_for_
instead ofboost:thread
. This has three advantages:parallel_for_
can be run with or without parallelism.use_multicore
.cv::setNumThreads
globally controls whether parallelism is used.