High-level Multicore Programming with C++11
- 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
Available 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