[cfe-dev] [libc++] Working on the parallel STL algorithms

Bryce Lelbach via cfe-dev cfe-dev at lists.llvm.org
Wed May 17 07:50:11 PDT 2017


Some thoughts:

* I pretty much agree with Hal - his vision for what we should do here
closely matches mine.
* I agree with Chris that we may want to target the Intel OMP Runtime
interface - but Hal is right that this may be sub-optimal.
Additionally, it may be quite tricky to do correctly.
* I am a little concerned that it will be hard to de-couple the
"parallel engine" and "algorithms" components of the library if we're
using OpenMP pragmas. I am also a little concerned about using pragmas
because they don't always interact well with C++ abstractions.
* I want to make sure we end up with one generic "algorithms" core and
O(3) backends that libc++ supports/maintains, and an interface that
3rd parties can implement to plug their "parallel engines" into
libc++'s algorithms. I'm a little worried that the pragma-based OpenMP
one might be tightly coupled (although 3rd parties could plug in by
implement the OpenMP runtime API, that'd be sub-optimal).


-- 
Bryce Adelstein Lelbach aka wash
Lawrence Berkeley National Laboratory
ISO C++ Committee Member
CppCon and C++Now Program Chair

Compiler ICE Hunter
--



More information about the cfe-dev mailing list