A Comparative Study on Performance Benefits of Multi-core CPUs using OpenMP

Achieving scalable parallelism from general programs was not successful to this point. To extract parallelism from programs has become the key focus of interest on multi-core CPUs. There are many techniques and programming models such as MPI, CUDA and OpenMP adopted in order to exploit more performance. But there is an urge to find the best parallel programming techniques for the benefit of performance. This article shows how the performance potential benefits the parallel programming model over sequential programming model. To support our claim, we are likely to analyze the performance in terms of execution time on both sequential and parallel implementations of naive matrix multiplication vs. Strassen’s matrix multiplication algorithm using OpenMP. Our analysis results show that optimizing the code using OpenMP increases the performance than sequential implementation and

[1]  Kunle Olukotun,et al.  The Atomos transactional programming language , 2006, PLDI '06.

[2]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[3]  J. R. Johnson,et al.  Implementation of Strassen's Algorithm for Matrix Multiplication , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[4]  Xin-She Yang,et al.  Introduction to Algorithms , 2021, Nature-Inspired Optimization Algorithms.

[5]  Michael J. Quinn,et al.  Parallel programming in C with MPI and OpenMP , 2003 .

[6]  Stuart Hannabuss Education: 2nd edition , 2000 .

[7]  J. van Leeuwen,et al.  Recent Advances in Parallel Virtual Machine and Message Passing Interface , 2002, Lecture Notes in Computer Science.

[8]  Matteo Frigo,et al.  The implementation of the Cilk-5 multithreaded language , 1998, PLDI.

[9]  Shi-Jung Kao Managing C++ OpenMP Code and Its Exception Handling , 2002, WOMPAT.

[10]  Henry Hoffmann,et al.  A stream compiler for communication-exposed architectures , 2002, ASPLOS X.

[11]  M.,et al.  Strassen ' s Algorithm for Matrix Multiplication : Modeling , Analysis , and ImplementationSteven , 1996 .

[12]  Hector Zenil,et al.  Applied Parallel Computing , 2004, IEEE Distributed Syst. Online.

[13]  Mitsuhisa Sato,et al.  Proceedings of the 3rd international workshop on OpenMP: A Practical Programming Model for the Multi-Core Era , 2007 .

[14]  Jack Dongarra,et al.  Recent Advances in Parallel Virtual Machine and Message Passing Interface, 15th European PVM/MPI Users' Group Meeting, Dublin, Ireland, September 7-10, 2008. Proceedings , 2008, PVM/MPI.

[15]  Barbara M. Chapman Managing Multicore with OpenMP (Extended Abstract) , 2008, PVM/MPI.

[16]  Alex Vrenios A Tutorial on Parallel Systems Development , 2004, IEEE Distributed Syst. Online.

[17]  Barbara Chapman A Practical Programming Model for the Multi-Core Era, 3rd International Workshop on OpenMP, IWOMP 2007, Beijing, China, June 3-7, 2007, Proceedings , 2008, IWOMP.