Parallelizing Sequential Programs using a Selection of Available Tools and Techniques

Karen Bradshaw and Waide Tristram


Parallel Programming, Multicore Computing


To exploit modern commodity multicore processors fully, parallel programming needs to be embraced as the norm for constructing programs. Unfortunately, this paradigm requires more expertise than the traditional sequential programming model and the wide variety of tools and parallel programming models available further complicates the issue. In this research we describe a selection of parallel programming tools and techniques to aid novice parallel programmers in the process of developing efficient parallel C/C++ programs for execution on shared memory multi-core CPUs. We evaluate the performance of a couple of parallelized programs, as well as the effort needed to achieve that performance. The results show that the choice of rogramming model is dependent on the type of problem being solved. Furthermore, parallel programming models with higher levels of abstraction require less programming effort, while providing similar performance to explicit threading models.

Important Links:

Go Back