Performance evaluation of stencil on multi-core computer - Al-Khaffaf, Mustafa Saleh Mahdi (2019)
High Performance Computing (HPC) can be defined as the practice of combining computing power to attain higher level of performance, aiding one to solve complex tasks in various sectors, namely engineering, science and business efficiently and faster, compared to what a normal computer or workstation might offer. As the number of HPC users grows, various parallel programming models are also developed to fulfil the specific goals and needs of each user. However, with the availability of multiple parallel programming models to be chosen from, users will face with another challenge, on how to choose the best model that meets the specific requirements. Thus, the current work has performed a comparative study on MPI, OpenMP, Threading Building Blocks (TBB), and POSIX threads (Pthreads) as well a hybrid paradigms (MPI+OpenMP and MPI+Pthreads) in compute-intensive problem and in multi-core environment, to provide program developers and potential researchers with the information on the models that fit their goals best. The performance of the four selected parallel programming models has been measured through the speedup, execution time and also efficiency. Besides that, the current study has applied the stencil computation as a benchmark application.