Parallelism on Ranges: Should We? - Giannis Gonidelis - [CppNow 2021]

preview_player
Показать описание
#Boost #Cpp #CppNow
CppNow Twitter: @CppNow
------
Ranges have recently been introduced to the realm of C++ Standard. While the initiating idea was to increase the level of abstraction provided for the C++ Standard algorithms, it quickly evolved into a mechanism where users could code complex sequences of algorithms in an expressive and readable way. On the other hand, since C++17, when calling a C++ STL algorithm, the user is allowed to pass an execution policy as their first argument in order to control parallelization options. That enables the algorithm to run with vectorization optimizations or/and in parallel . It’s crucial to note though, that the execution policy option can only be used on the non-ranges overloads (namely, the iterator based ones), as ranges have been added in C++20 only. Therefore, the problem that emerges from the utilization of ranges, is the following: should the community push forward in order to embed the execution policy mechanism on the range based algorithms?
This talk is concentrated on providing insight on how the ranges could be parallelized and the possibilities that arise from such a powerful concept. Given that ranges are designed in order to support pipelining, trying to parallelize that kind of sequenties could potentially produce hundreds of subcases where algorithmic fusion would have to take place for every single combination. HPX, which is a C++ Standard Library for Concurrency and Parallelism, has taken serious steps in order to provide actual implementation proposals on how the machinery behind that could possibly work. The speaker provides the general algorithmic picture behind range parallelization, along with presenting tangible examples for candidate implementations.
------
Giannis Gonidelis
HPX Open-Source Contributor, STE||AR Group
Giannis is an open source contributor on HPX, a C++ Standards library for Parallelization and Concurrency. He is mainly working on parallelization methods and algorithms. He is currently involved in adapting HPX to C++20.
------

May 1, 2022 - May 6, 2022 - Aspen, Colorado
-------------------------
---

*--*

---
Рекомендации по теме
join shbcf.ru