[cfe-dev] [RFC] C++17 Parallel STL ∥ a new project

JF Bastien via cfe-dev cfe-dev at lists.llvm.org
Tue Aug 21 14:13:14 PDT 2018


Hello parallelism enthusiasts!

C++17 adds support for “Parallel STL <https://wg21.link/p0024>”, and neither libc++ nor libstdc++ have an implementation. Apple, RedHat, and Intel want to begin implementation work under the umbrella of the LLVM Foundation.


What we’re suggesting

Create a new repository, under the LLVM Foundation, to host Parallel STL work. This includes an implementation which can support multiple backends, correctness tests, and performance tests.
This repository will be importable into libc++ <https://libcxx.llvm.org/> and libstdc++ <https://gcc.gnu.org/onlinedocs/libstdc++/>. Details will be worked out later as this will be experimental for a while.
Contributions occur as usual, under LLVM’s contribution policy <https://llvm.org/docs/Contributing.html> (specifically, the revised policy <http://llvm.org/foundation/relicensing/devpolicy.patch> policy <http://llvm.org/foundation/relicensing/devpolicy.patch>).
New mailing lists will be created for the project (pstl-dev@ and pstl-commits@), as well as new bugzilla components, and associated Phabricator setup.
Intel will seed this new repository with the code from their initial implementation <https://github.com/intel/parallelstl/>.
This repository will be exclusively under LLVM’s new license: Apache 2.0 with LLVM Exception <http://llvm.org/foundation/relicensing/>. That is, not dual-licensed under both the old and the new licenses.
Apple’s Louis Dionne, RedHat’s Tom Rodgers, and Intel’s Mikhail Dvorskiy sign up to implement and maintain code in this repository. Marshall Clow will also participate in his capacity as libc++ code owner.
We foresee this implementation as being ready for experimental distribution in the LLVM 8 and GCC 9 timeframes. We have no commitment to when an implementation will be deemed stable because we need to figure out ABIs, backends, etc.
We look forward to getting developer feedback from such an experimental distribution.
Future work will help inform the direction of C++20 and beyond. In particular, work towards Executors <https://wg21.link/p0761> and Networking <https://wg21.link/p0958> are closely tied to the Parallel STL and there’s a Parallel STL v2 <https://wg21.link/n4706> (Electric Boogaloo).


Request for Comments

The LLVM Foundation’s Board approves of this plan. We want to make sure that the wider community also approves. We’d also like to hear from anyone interested in helping with this work as well as integration into libc++ and libstdc++.


Upcoming Discussions

Tom will present this work at CppCon <http://sched.co/FnKl>.
Louis will hold a BoF at the LLVM Developer’s meeting <https://llvm.org/devmtg/2018-10/>.


Thanks,

JF

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20180821/04da5c19/attachment.html>


More information about the cfe-dev mailing list