-
Notifications
You must be signed in to change notification settings - Fork 29
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
Migrate from tbb to onetbb #41
Open
lkeegan
wants to merge
4
commits into
seqan:master
Choose a base branch
from
lkeegan:migrate_tbb_to_one_tbb
base: master
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.
Open
Conversation
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
- add `FlexbarAtomic` - a simple wrapper around `std::atomic` which adds a copy constructor - to replace `tbb::atomic` member variables in classes with default copy constructors - replace removed `tbb::atomic` - with `FlexbarAtomic` if copy constructor was assumed - with `std::atomic` otherwise - filters (PairedAlign, PairedInput, PairedOutput) - no longer inherit from tbb::filter - take and return pointers to actual type instead of void* - operator() is now const - pipeline - use parallel_pipeline and make_filter - use global_control to set max threads - use `oneapi::tbb` namespace - add find_package for TBB to CMakeLists.txt
I've tested this patch with the Debian package and confirm flexbar builds that way. Unfortunately the test seems to end in some endless loop:
Hopefully someone will be able to fire up gdb and find a fix. |
- pass a lambda with a reference to the filter instead of directly passing the filter to parallel_pipeline - passed filters may be copied and/or deleted by tbb - flexbar continues to use the filter objects after the pipeline is finished - call fc.stop() in PairedInput when there is no more input - required control flow for first filter in parallel_pipeline that was previously missing
lkeegan
added a commit
to lkeegan/bioconda-recipes
that referenced
this pull request
Feb 10, 2023
- add patch with onetbb support - migrates flexbar from tbb to onetbb to allow building against current conda-forge tbb version - upstream PR for these changes: seqan/flexbar#41 (but repo doesn't appear to be maintained) - remove flexbar from build blacklist
lkeegan
added a commit
to lkeegan/bioconda-recipes
that referenced
this pull request
Feb 10, 2023
- add patch with onetbb support - migrates flexbar from tbb to onetbb to allow building against current conda-forge tbb version - upstream PR for these changes: seqan/flexbar#41 (but repo doesn't appear to be maintained) - remove flexbar from build blacklist
lkeegan
added a commit
to lkeegan/bioconda-recipes
that referenced
this pull request
Feb 10, 2023
- add patch with onetbb support - migrates flexbar from tbb to onetbb to allow building against current conda-forge tbb version - upstream PR for these changes: seqan/flexbar#41 (but repo doesn't appear to be maintained) - remove flexbar from build blacklist
…o longer require copy constructors
lkeegan
added a commit
to lkeegan/bioconda-recipes
that referenced
this pull request
Feb 10, 2023
- add patch with onetbb support - migrates flexbar from tbb to onetbb to allow building against current conda-forge tbb version - upstream PR for these changes: seqan/flexbar#41 (but repo doesn't appear to be maintained) - remove flexbar from build blacklist
This works for me now and I'll upload the Debian package with these patches. Thanks a lot, Andreas. |
BiocondaBot
pushed a commit
to bioconda/bioconda-recipes
that referenced
this pull request
Feb 11, 2023
Merge PR #39296, commits were: * fix onetbb flexbar issue - add patch with onetbb support - migrates flexbar from tbb to onetbb to allow building against current conda-forge tbb version - upstream PR for these changes: seqan/flexbar#41 (but repo doesn't appear to be maintained) - remove flexbar from build blacklist
cokelaer
pushed a commit
to cokelaer/bioconda-recipes
that referenced
this pull request
Apr 28, 2023
Merge PR bioconda#39296, commits were: * fix onetbb flexbar issue - add patch with onetbb support - migrates flexbar from tbb to onetbb to allow building against current conda-forge tbb version - upstream PR for these changes: seqan/flexbar#41 (but repo doesn't appear to be maintained) - remove flexbar from build blacklist
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
FlexbarAtomic
std::atomic
which adds a copy constructortbb::atomic
member variables in classes with default copy constructorstbb::atomic
FlexbarAtomic
if copy constructor was assumedstd::atomic
otherwiseoneapi::tbb
namespace