-
Notifications
You must be signed in to change notification settings - Fork 2.4k
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
Convert OpenMP parallelization to OneAPI::TBB #6626
Draft
dbs4261
wants to merge
23
commits into
isl-org:main
Choose a base branch
from
dbs4261:omp2tbb
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
23 commits
Select commit
Hold shift + click to select a range
46e7d63
Switched from using OpenMP for parallelism to using oneAPI::TBB (thou…
dbs4261 0c36784
Swichted usage of std::mutex to tbb::mutex for consistency when used …
dbs4261 1514fc1
Fixed bug in CPU reduction
dbs4261 31f1e25
Shift atomic to outside of RW mutex in PointCloudSegmentation.cpp
dbs4261 d7a82f1
Switch from using a mutex to a concurrent vector for parallelization …
dbs4261 181a431
Get maximum threads from TBB instead of OpenMP
dbs4261 2312299
Updates to ProgressBar.h/.cpp Including separating code for writing t…
dbs4261 bd258e3
Updated ClusterDBSCAN in PointCloudCluster.cpp to bulk update the pro…
dbs4261 2789817
Applied Open3D style
dbs4261 6399001
Marked single argument constructors for reductions as explicit to ple…
dbs4261 11c546d
Explicitly load atomics in calls to utility::Log*(...) because newer …
dbs4261 f48abcc
style fix
ssheorey c04077f
Fixed incorrect include in Parallel.h
dbs4261 7d6c707
Updated ProgressBar.h to use size_t in std namespace for consistency
dbs4261 bba01ef
Switched std::lock_guard<std::mutex> for DiscreteGenerator to use tbb…
dbs4261 ec98cae
Switch to using tbb::parallel_reduce on all platforms.
dbs4261 dbe4133
Fixed progress bar bug that allow for multiple threads writing to the…
dbs4261 25d8e7f
Fixed issue with CPU reduction. Need to exit early if no work is to b…
dbs4261 929f010
Updated MemoryManagerStatistic to use a tbb::spin_mutex instead of a …
dbs4261 31484e5
Updated point cloud segmentation to generate random samples using the…
dbs4261 81b9bb3
Updated example usage of global mutex and engine access to reflect th…
dbs4261 23ce717
Merge branch 'main' into omp2tbb
dbs4261 86a474d
Turn TBB into publicly linked library
dbs4261 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How many threads will be used here? Currently, it's estimated with
utility::EstimateMaxThreads()
which gives us one thread per core (excluding hyperthreading).There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, avoid using "magic numbers" (32). I think you have a
GetDefaultChunkSize()
function.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It will use up to the number of threads in task arena that called it. As for the chunk size, see my other comment.