Open Access   Article Go Back

Matrix Multiplication using Strassen�s Algorithm on CPU & GPU

U. Ray1 , T.K. Hazra2 , U.K. Ray3

Section:Research Paper, Product Type: Journal Paper
Volume-4 , Issue-10 , Page no. 98-105, Oct-2016

Online published on Oct 28, 2016

Copyright © U. Ray, T.K. Hazra, U.K. Ray . This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

View this paper at   Google Scholar | DPI Digital Library

How to Cite this Paper

  • IEEE Citation
  • MLA Citation
  • APA Citation
  • BibTex Citation
  • RIS Citation

IEEE Style Citation: U. Ray, T.K. Hazra, U.K. Ray, “Matrix Multiplication using Strassen�s Algorithm on CPU & GPU,” International Journal of Computer Sciences and Engineering, Vol.4, Issue.10, pp.98-105, 2016.

MLA Style Citation: U. Ray, T.K. Hazra, U.K. Ray "Matrix Multiplication using Strassen�s Algorithm on CPU & GPU." International Journal of Computer Sciences and Engineering 4.10 (2016): 98-105.

APA Style Citation: U. Ray, T.K. Hazra, U.K. Ray, (2016). Matrix Multiplication using Strassen�s Algorithm on CPU & GPU. International Journal of Computer Sciences and Engineering, 4(10), 98-105.

BibTex Style Citation:
@article{Ray_2016,
author = {U. Ray, T.K. Hazra, U.K. Ray},
title = {Matrix Multiplication using Strassen�s Algorithm on CPU & GPU},
journal = {International Journal of Computer Sciences and Engineering},
issue_date = {10 2016},
volume = {4},
Issue = {10},
month = {10},
year = {2016},
issn = {2347-2693},
pages = {98-105},
url = {https://www.ijcseonline.org/full_paper_view.php?paper_id=1084},
publisher = {IJCSE, Indore, INDIA},
}

RIS Style Citation:
TY - JOUR
UR - https://www.ijcseonline.org/full_paper_view.php?paper_id=1084
TI - Matrix Multiplication using Strassen�s Algorithm on CPU & GPU
T2 - International Journal of Computer Sciences and Engineering
AU - U. Ray, T.K. Hazra, U.K. Ray
PY - 2016
DA - 2016/10/28
PB - IJCSE, Indore, INDIA
SP - 98-105
IS - 10
VL - 4
SN - 2347-2693
ER -

VIEWS PDF XML
1825 1346 downloads 1407 downloads
  
  
           

Abstract

In this paper we have successfully implemented Matrix Multiplication using Strassen`s Algorithm on a NVIDIA GPU using CUDA. We have used the multiple cores of the GPU to reduce the computation time drastically. We have also compared the time taken by matrix multiplication using Strassen`s algorithm on both CPU and GPU. We have found that the GPU implementation was much faster, but only when the recursion was performed till a certain limit. Beyond that limit, the computation took much more time than expected. Also, we found that implementing Matrix Multiplication using Strassen`s algorithm on the CPU yielded some very positive results. By conducting experiments, we came to the conclusion that the recursion limit can be comparatively smaller for matrix multiplication using Strassen`s algorithm on CPU than for matrix multiplication using Strassen`s algorithm on GPU.

Key-Words / Index Term

GPU, CUDA, Matrix Multiplication, Strassen�s Algorithm, Cache, Speedup

References

1] Francois Le Gall, �Powers of Tensors and Fast Matrix Multiplication,� Cornell University Library, arXiv:1401.7714 [cs.DS], 2014.
[2] Wikipedia, Strassen Algorithm, https://en.wikipedia.org/wiki/Strassen_algorithm.
[3] Junjie Li, Sanjay Ranka, Sartaj Sahni, �Strassen�s Matrix Multiplication on GPUs,� 2011 IEEE 17th International Conference on Parallel and Distributed Systems(ICPADS), pp. 157-164, 2011.
[4] C. P. Patidar and Meena Sharma, "Histogram Computations on GPUs Kernel using Global and Shared Memory Atomics", ISROSET-International Journal of Scientific Research in Computer Science and Engineering, Volume-01, Issue-04, Page No (1-6), Aug 2013
[5] Pujianto Yugopuspito, Sutrisno, Robertus Hudi, �Breaking through memory limitation in GPU parallel processing using Strassen Algorithm,� 2013 International Conference on Computer, Control, Informatics and Its Applications(IC3INA), pp. 201-205, 2013.
[6] Ayaz ul Hasan Khan, Mayez Al-Mouhamed, Allam Fatayer, �Optimizing strassen matrix multiply on GPUs�, 2015 16th IEEE/ACIS International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD), pp. 1-6, 2015.
[7] V. Strassen, �Gaussian elimination is not optimal,� Numerische Mathematik, Vol. 13, No. 4, pp. 354-356, August 1969.
[8] Thomas H. Cormen, Charles E. Leiserson, Ronald L. Livest, Clifford Stein, Introduction to Algorithms, Second Edition. MIT Press and McGraw-Hill, 2001. Chapter 28: Section 28.2: Strassen�s algorithm for matrix multiplication, pp. 735-741.
[9] CUDA C Programming Guide, https://docs.nvidia.com/cuda/cuda-c-programming-guide
[10] John Nickolls, �GPU parallel computing architecture and CUDA programming model,� 2007 IEEE Hot chips 19 Symposium (HCS), pp. 1-12, 2007.
[11] Fazlul Kader Murshed Nawaz, Arnab Chattopadhyay, Kirthan G J, Girish D Mane, Rohith N Savanth, �Comparison of Open MP and CUDA�, International Journal of Computer Science and Engineering E-ISSN: 2347-2693, Vol.2, Issue-12, pp.38-41, 2014.