Kempf, Martin (2013) Parallator Transformation towards C++ parallelism using TBB. Masters thesis, HSR Hochschule für Technik Rapperswil.
parallator.pdf - Supplemental Material
Download (2MB) | Preview
Abstract
Intels TBB (Threading Building Blocks) library provides a high level abstraction to write parallel programs in C++. It addresses the fact that parallel hardware with increasing number of cores in processors is likely to be the main source of performance gains. With this change in common computer architecture, an application must provide enough parallel work to exploit the computational power of a multi-core CPU. Parallel programs using multiple threads with independent operations are needed. Operations in a loop are often, although not explicitly defined, a source of independent operations and provide therefore potential to introduce parallelism. With algorithm calls of TBB, loop operations can be explicitly parallelized while making use of the efficient task scheduling mechanism that uses threads for parallelism.
A manual transformation of loops to the corresponding TBB algorithm is time consuming and includes pitfalls like carelessly introduced data races. Parallator, an Eclipse plug- in is therefore developed using the C++ Development Tooling (CDT) project to replace loops with TBB calls and provide hints for possible parallelization issues. The plug-in lets the user decide a transformation to apply. This approach differs from automatic parallelization introduced by compilers and improves the situation of a rather conservative handling towards parallelism by a compiler. Parallator is based on a former project [Kes10] and uses its tree pattern matching algorithm on the program code’s abstract syntax tree to find potential code for parallelism and possible parallelization issues.
Item Type: | Thesis (Masters) |
---|---|
Subjects: | Area of Application > Development Tools Technologies > Frameworks and Libraries > Eclipse Metatags > IFS (Institute for Software) |
Divisions: | Master of Science in Engineering (MRU Software and Systems) |
Depositing User: | OST Deposit User |
Contributors: | Contribution Name Email Thesis advisor Sommerlad, Peter UNSPECIFIED |
Date Deposited: | 21 Jun 2013 08:37 |
Last Modified: | 21 Jun 2013 08:37 |
URI: | https://eprints.ost.ch/id/eprint/285 |