Package: flexbar / 1:3.5.0-7

Metadata

Package Version Patches format
flexbar 1:3.5.0-7 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
no_march_native.patch | (download)

src/CMakeLists.txt | 2 0 + 2 - 0 !
1 file changed, 2 deletions(-)

 do not build with -march=native

195a1ab2c2715b07df5acff58dc2a0396d9cd52d.patch | (download)

src/CMakeLists.txt | 9 2 + 7 - 0 !
src/Flexbar.h | 26 15 + 11 - 0 !
src/FlexbarTypes.h | 16 15 + 1 - 0 !
src/LoadAdapters.h | 4 2 + 2 - 0 !
src/LoadFasta.h | 6 3 + 3 - 0 !
src/Options.h | 2 1 + 1 - 0 !
src/PairedAlign.h | 23 10 + 13 - 0 !
src/PairedInput.h | 10 4 + 6 - 0 !
src/PairedOutput.h | 29 12 + 17 - 0 !
src/SeqAlign.h | 10 5 + 5 - 0 !
src/SeqAlignPair.h | 6 3 + 3 - 0 !
src/SeqInput.h | 2 1 + 1 - 0 !
src/SeqOutput.h | 6 3 + 3 - 0 !
src/SeqOutputFiles.h | 2 1 + 1 - 0 !
14 files changed, 77 insertions(+), 74 deletions(-)

 [patch] migrate from tbb to onetbb

- 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

1c872fa10d474f090633fc95d409aa60607a3f96.patch | (download)

src/Flexbar.h | 9 6 + 3 - 0 !
src/PairedInput.h | 9 7 + 2 - 0 !
2 files changed, 13 insertions(+), 5 deletions(-)

 [patch] fix parallel_pipeline issues

- 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

19722f2743c96235ff57948eda82f963cf734131.patch | (download)

src/CMakeLists.txt | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 [patch] revert accidental removal of pthread linking in
 src/CMakeLists.txt


a9b0eb87a391aeaf760f8116dca777749c8b4f96.patch | (download)

src/FlexbarTypes.h | 2 1 + 1 - 0 !
src/PairedAlign.h | 2 1 + 1 - 0 !
src/PairedInput.h | 2 1 + 1 - 0 !
src/PairedOutput.h | 2 1 + 1 - 0 !
4 files changed, 4 insertions(+), 4 deletions(-)

 [patch] use `std::atomic` instead of `flexbaratomic` in filters as
 they are no longer require copy constructors