A comparison of five parallel programming models for C++
Multi-core processors offer a growing potential of parallelism but pose a challenge of program development for achieving high performance in applications. This pape r presents a comparison of the five parallel programming models for implementing parallel programs in C++ on multi -core computer systems. The models under consideration are Intel®'s Thread Building Blocks (TBB), OpenMPI, Intel®'s Cilk™ Plus, OpenMP and Pthreads. For demonstration purposes multiple parallel implementations of an algorithm for matrix multiplication suitable for parallelization were created. The main goal of this paper is a comprehensive comparison of chosen models with respect to the following criteria: performance and coding effort required.