Torvald Riegel

Torvald Riegel's contributions

Article Thumbnail
Article

Red Hat at the ISO C++ Standards Meeting (June 2014): Parallelism and Concurrency

Torvald Riegel

Recently Red Hat sent several representatives to the JTC1/SC22/WG21 C++ Standards Committee meetings, which were held in June 2014 at the University of Applied Sciences in Rapperswil, Switzerland. As in past ISO C++ meetings, SG1, the study group on parallelism and concurrency, met for the whole week to discuss proposals and work on the technical specifications (TS) for both parallelism and concurrency. The Parallelism TS seems ready for a first publication soon. SG1 renamed the execution policy that allows vector...

Article Thumbnail
Article

C/C++ Programming Abstractions for Parallelism and Concurrency - Part 2

Torvald Riegel

Welcome to part 2 of this two-part article on C/C++ Programming Abstractions for Parallelism and Concurrency. If you missed Part 1, view it here. Supporting task-based parallelism Let us now switch from concurrency to parallelism. I already mentioned that C++11 and C11 provide support for creating threads that execute additional work in parallel or concurrently. However, these facilities are rather resource abstractions (i.e., for operating system threads) than abstractions aimed purely at parallelism. One target for the latter is often...

Article Thumbnail
Article

C/C++ Programming Abstractions for Parallelism and Concurrency - Part 1

Torvald Riegel

When writing parallel or multi-threaded programs, programmers have to deal with parallelism and concurrency. Both are related concepts but are not the same. In this article, we will review the differences between them and outline a few programming abstractions for both (in particular, atomic data types, Transactional Memory, and task-based parallelism). Red Hat Developer Toolset 1.1 ships with GCC-4.7, which provides (experimental) support for these particular features. Finally, a short outlook on future features proposed for inclusion in the C/C++...