sofa
sofa copied to clipboard
[Core] STL parallelism support
Introduce flags to know if STL parallelism is supported (see https://github.com/sofa-framework/BeamAdapter/pull/50), and an example on how to use it.
By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).
Reviewers will merge this pull-request only if
- it builds with SUCCESS for all platforms on the CI.
- it does not generate new warnings.
- it does not generate new unit test failures.
- it does not generate new scene test failures.
- it does not break API compatibility.
- it is more than 1 week old (or has fast-merge label).
Thanks for the interesting PR.
It is unclear to me why using macros. It was thinking that these features are c++17 and we agreed sofa to on its way to c++20.
Thanks for the interesting PR.
It is unclear to me why using macros. It was thinking that these features are c++17 and we agreed sofa to on its way to c++20.
For the moment, even if a compiler/std lib supports c++17, it does not mean for sure it supports stl parallelism unfortunately. I dont remember which one but one of the compiler of our "base" OSes on the CI did not support it. (mac clang or ubuntu gcc)
[ci-build][with-all-tests]
An alternative is to support only compilers supporting parallel algorithms
Giving more info: it was not supported for Ubuntu2004 while I implemented this feature in BeamAdapter
https://github.com/sofa-framework/BeamAdapter/actions/runs/2880398323 (no more logs unfortunately)
Postponed until support of Ubuntu 20.04 is dropped