Add multithreading to CbmTaskUnpack and fix compiler errors on several systems
This MR adds simple multithreading to CbmTaskUnpack. It is meant as a starting point in this direction and to allow us to gain relevant experience.
A significant performance improvement is achieved by using std::sort
with the std::execution::par_unseq
parameter when time-sorting all digis in the end.
In addition, the components are processed in parallel, yielding another improvement. Here, the performance gains appear to be limited by the process of adding all digis to a common vector.
Further parallelization inside the components (i.e., on microslice level) is not yet attempted in this MR.
On the mFLES login node, the Unpack tasks runs at about 300 MB/s for our benchmark file.
bin/cbmreco_fairrun -i ~/tmp/1588_node8_1_0000.tsa -c ../reco/tasks/CbmRecoConfigExample.yaml
Merge request reports
Activity
added BugFix Build System labels
requested review from @f.uhlig
assigned to @f.uhlig
Dear @f.uhlig, @v.friese, @p.-a.loizeau,
you have been identified as code owner of at least one file which was changed with this merge request.
Please check the changes and approve them or request changes.
added CodeOwners label
requested review from @j.decuveland and removed review request for @f.uhlig
added 50 commits
-
59c396e7...fd7f90ed - 47 commits from branch
computing:master
- 9e16fabe - Add simple OpenMP multithreading to CbmTaskUnpack
- f3e0974a - Make OpenMP optional in reco/tasks
- 30ebf65d - Fix compiler error on several systems
Toggle commit list-
59c396e7...fd7f90ed - 47 commits from branch
added 8 commits
-
30ebf65d...cc5b4cad - 5 commits from branch
computing:master
- a3be2cc6 - Add simple OpenMP multithreading to CbmTaskUnpack
- 9656dea7 - Make OpenMP optional in reco/tasks
- 158e28d6 - Fix compiler error on several systems
Toggle commit list-
30ebf65d...cc5b4cad - 5 commits from branch
this MR contains your changes from !802 (closed) plus additional fixes such that the changes compile on all our CI platforms.
If you are fine with the changes please approve.
This supersedes !802 (closed), which should be closed after this one is merged.