High-level Multicore Programming with C++11

Zalan Szugyi1, Mark Torok1, Norbert Pataki1 and Tamas Kozsik1

  1. Department of Programming Languages and Compilers, Eotvos Lorand University
    Pazmany Peter setany 1/C, H-1117 Budapest, Hungary
    {lupin, tmark, patakino, kto}@caesar.elte.hu

Abstract

Nowadays, one of the most important challenges in programming is the efficient usage of multicore processors. All modern programming languages support multicore programming at native or library level. C++11, the next standard of the C++ programming language, also supports multithreading at a low level. In this paper we argue for some extensions of the C++ Standard Template Library based on the features of C++11. These extensions enhance the standard library to be more powerful in the multicore realm. Our approach is based on functors and lambda expressions, which are major extensions in the language. We contribute three case studies: how to efficiently compose functors in pipelines, how to evaluate boolean operators in parallel, and how to efficiently accumulate over associative functors.

Key words

multicore programming, C++

Digital Object Identifier (DOI)

https://doi.org/10.2298/CSIS111231027S

Publication information

Volume 9, Issue 3 (September 2012)
Special Issue on Advances in Computer Languages, Modeling and Agents
Year of Publication: 2012
ISSN: 2406-1018 (Online)
Publisher: ComSIS Consortium

Full text

DownloadAvailable in PDF
Portable Document Format

How to cite

Szugyi, Z., Torok, M., Pataki, N., Kozsik, T.: High-level Multicore Programming with C++11. Computer Science and Information Systems, Vol. 9, No. 3, 1187-1202. (2012), https://doi.org/10.2298/CSIS111231027S