Concepedia

TLDR

Multi‑core processors promise increased parallelism, yet developing high‑performance applications remains challenging. The paper compares five parallel programming models for C++ on multi‑core systems, evaluating them on performance and coding effort. The authors implemented matrix‑multiplication algorithms using Intel TBB, OpenMPI, Intel Cilk Plus, OpenMP, and Pthreads to benchmark these models.

Abstract

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.

References

YearCitations

Page 1