Introducing Parallelism to the Ranges TS

Gordon Brown, Christopher Di Bella, Michael Haidl, Toomas Remmelg, Ruyman Reyes, Michel Steuwer

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract / Description of output

The current interface provided by the C++17 parallel algorithms poses some limitations with respect to parallel data access and heterogeneous systems, such as personal computers and server nodes with GPUs, smartphones, and embedded System on a Chip chipsets. In this paper, we present a summary of why we believe the Ranges TS solves these problems, and also improves both programmability and performance on heterogeneous platforms.

The complete paper has been submitted to WG21 for consideration, and here we present a summary of the changes proposed alongside new performance results.

To the best of our knowledge, this is the first paper presented to WG21 that unifies the Ranges TS with the parallel algorithms introduced in C++17. Although there are various points of intersection, we will focus on the composability of functions, and the benefit that this brings to accelerator devices via kernel fusion.
Original languageEnglish
Title of host publicationProceedings of the International Workshop on OpenCL
Place of PublicationNew York, NY, USA
PublisherACM Association for Computing Machinery
Pages1-5
Number of pages5
ISBN (Print)9781450364393
DOIs
Publication statusPublished - 14 May 2018
Event6th International Workshop on OpenCL 2018 - Oxford, United Kingdom
Duration: 14 May 201816 May 2018
https://www.iwocl.org/iwocl-2018/conference-program/

Workshop

Workshop6th International Workshop on OpenCL 2018
Abbreviated titleIWOCL 2018
Country/TerritoryUnited Kingdom
CityOxford
Period14/05/1816/05/18
Internet address

Keywords / Materials (for Non-textual outputs)

  • Heterogeneous Computing
  • C++
  • Parallel Programming
  • Kernel Fusion

Fingerprint

Dive into the research topics of 'Introducing Parallelism to the Ranges TS'. Together they form a unique fingerprint.

Cite this