Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3204919.3204936acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiwoclConference Proceedingsconference-collections
research-article

Introducing Parallelism to the Ranges TS

Published: 14 May 2018 Publication History

Abstract

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.

References

[1]
2017. Prototype of SYCL Parallel STL with Ranges. https://github.com/codeplaysoftware/parallelts-range-exploration.
[2]
Christopher Di Bella. 2018. Christopher Di Bella's answer to 'What do you think of the C++'s Range TS?'. http://bit.ly/2nsUvvu
[3]
Gordon Brown, Christopher Di Bella, Michael Haidl, Toomas Remmelg, Ruyman Reyes, Michel Steuwer, and Michael Wong. 2018. P0836R0: Introduce Parallelism to the Ranges TS. http://wg21.link/p0836r0
[4]
Casey Carter. 2015. cmcstl2. https://github.com/CaseyCarter/cmcstl2
[5]
Intel Corporation. 2017. Parallel STL. https://github.com/intel/parallelstl
[6]
Gäel Guennebaud, Benoît Jacob, et al. 2010. Eigen v3. http://eigen.tuxfamily.org.
[7]
Michael Haidl, Michel Steuwer, Hendrik Dirks, Tim Humern-brum, and Sergei Gorlatch. 2017. Towards Composable GPU Programming: Programming GPUs with Eager Actions and Lazy Views. In PMAM. ACM.
[8]
ISO/IEC JTC1/SC22/WG21. 2017. ISO/IEC 21425:2017, Programming Languages -- C++ Extensions for Ranges.
[9]
Eric Niebler. 2014. range-v3. https://github.com/ericniebler/range-v3
[10]
Eric Niebler. 2017. P0789R1: Range Adaptors and Utilities. http://wg21.link/p0789r1
[11]
Eric Niebler, Sean Parent, and Andrew Sutton. 2014. N4128: Ranges for the Standard Library, Revision 1. http://wg21.link/n4128
[12]
Ruyman Reyes, Gordon Brown, Michael Wong, and Hartmut Kaiser. 2017. P0687R0: Data Movement in C++. http://wg21.link/p0687r0

Cited By

View all
  • (2022)A Modern C++ Point of View of Programming in Image ProcessingProceedings of the 21st ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3564719.3568692(164-171)Online publication date: 29-Nov-2022

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
IWOCL '18: Proceedings of the International Workshop on OpenCL
May 2018
108 pages
ISBN:9781450364393
DOI:10.1145/3204919
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

In-Cooperation

  • Huawei Technologies Co. Ltd.: Huawei Technologies Co. Ltd.
  • Khronos: Khronos Group
  • Xilinx: Xilinx Inc.
  • Codeplay: Codeplay Software Ltd.
  • Intel: Intel
  • The University of Bristol: The University of Bristol

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 May 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. C++
  2. Heterogeneous Computing
  3. Kernel Fusion
  4. Parallel Programming

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

IWOCL '18
IWOCL '18: International Workshop on OpenCL
May 14 - 16, 2018
Oxford, United Kingdom

Acceptance Rates

IWOCL '18 Paper Acceptance Rate 16 of 33 submissions, 48%;
Overall Acceptance Rate 84 of 152 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2022)A Modern C++ Point of View of Programming in Image ProcessingProceedings of the 21st ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences10.1145/3564719.3568692(164-171)Online publication date: 29-Nov-2022

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media