On benchmarking the matrix multiplication algorithm using OpenMP, MPI and CUDA programming languages

Muhammed Al-Mulhem, Abdulah Aidhamin, Raed Al-Shaikh

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

Abstract

Parallel programming languages represent a common theme in the evolution of high performance computing (HPC) systems. There are several parallel programming languages that are directly associated with different HPC systems. In this paper, we compare the performance of three commonly used parallel programming languages, namely: OpenMP, MPI and CUDA. Our performance evaluation of these languages is based on the implementation of matrix multiplication algorithms. Matrix multiplication is chosen because of its wide application in many scientific and engineering problems such as bioinformatics, linear algebra, and computer graphics. Our results show that CUDA programming delivers up to 15 fold speed acceleration relative to OpenMP and MPI Programming. However, CUDA programming may prove comparatively more challenging to programmers.

Original languageEnglish
Title of host publicationWMSCI 2013 - 17th World Multi-Conference on Systemics, Cybernetics and Informatics, Proceedings
Pages40-45
Number of pages6
StatePublished - 2013

Publication series

NameWMSCI 2013 - 17th World Multi-Conference on Systemics, Cybernetics and Informatics, Proceedings
Volume1

Keywords

  • Bioinformatics
  • CUDa
  • GPGPU
  • HPC
  • Infiniband
  • MPI
  • OpenMP

ASJC Scopus subject areas

  • Artificial Intelligence
  • Information Systems

Fingerprint

Dive into the research topics of 'On benchmarking the matrix multiplication algorithm using OpenMP, MPI and CUDA programming languages'. Together they form a unique fingerprint.

Cite this