external: Add poolSTL as alternative for parallel sorting.
Add poolSTL to external dependencies. This is an alternative implementation of the parallel stl algorithms and is meant as a replacement for libTBB.
Merge request reports
Activity
added Online label
assigned to @fweig
added 4 commits
-
b32c6403...6ab65c0c - 2 commits from branch
computing:master
- d27cd4f4 - external: Add poolSTL as alternative for parallel sorting.
- f2ae9c84 - Fix function name.
-
b32c6403...6ab65c0c - 2 commits from branch
Dear @d.smith, @fweig, @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
Hi Felix,
i have the problem that the poolstl headers are not found when using CbmRoot only with the installation directory without having access to the src and build directory. I get the following error:
In file included from libCbmRecoTasks dictionary payload:126: In file included from /lustre/cbm/users/apuntke/beamtime/apuntke-cbmroot-master/inst/include/CbmTaskUnpack.h:24: In file included from /lustre/cbm/users/apuntke/beamtime/apuntke-cbmroot-master/inst/include/bmon/Unpack.h:7: In file included from /lustre/cbm/users/apuntke/beamtime/apuntke-cbmroot-master/inst/include/CommonUnpacker.h:10: /lustre/cbm/users/apuntke/beamtime/apuntke-cbmroot-master/inst/include/compat/Algorithm.h:21:10: fatal error: 'poolstl/algorithm' file not found #include <poolstl/algorithm>
The poolstl headers are not copied to the installation directory as it is the case for other external libraries. Could you fix this?
Probably of interest to @f.uhlig as Felix is less available with writing his thesis
@apuntke Shouldn't this be caught by by one of the CI or Weekly tests? or is it happening with a macro/binary which is not covered by them?
PS: I guess that we can discuss it here as we have the full context, we can always also create a redmine issue if needed
Hi Pierre,
I am experiencing the problem when I try to run the macro
${INSTALL_DIR}/${CBMROOT_VER}/inst/share/cbmroot/macro/run/run_inspect_digi_timeslice.C
after using the new online unpacker. I compile cbmroot in my home directory and then copy the installation directory to lustre using a python script which copies in 128 threads (because lustre is optimized for highly parallel access) and restarts the copy of each file after 10 s if it does not succeed, because in the last days lustre was very slow in the last days. This method speeds the process up drastically.I also needed to add some headers in
algo/CMakeLists.txt
and adjust some include directories in some header files to get it running, I plan to create a merge request for this.Edited by Axel PuntkeAlso manually downloading the poolstl header files from https://github.com/alugowski/poolSTL/tree/main and copying them to
{INSTALL_DIR}/${CBMROOT_VER}/inst/include
is necessary to get it running.we only test some of the macros from the installation not all of them.
could you please check if the change in !1914 (merged) solves your problem.
I also created a merge request with the other changes I needed to do to get the macro running: !1915 (merged)
Edited by Axel Puntke
mentioned in merge request !1914 (merged)