International Journal of Computer and Electrical Engineering · 2017 · 10 citations · 9 references
ComputingComputer ScienceHigh-performance ComputingAlgorithmsParallel AlgorithmsParallel ComputingGraphics Processing Unit ArchitectureGraphics Processing Unit ComputingGraphics Processing UnitsMatrix ComputationShared-memory MultiprocessingShared-memory ParallelismExecution Time AnalysisGpu ArchitectureGpu Parallel AlgorithmsMatrix MultiplicationParallel Matrix AlgorithmsParallel Matrix MultiplicationParallel Matrix-vector MultiplicationShared Memory
In recent years, graphics processing units (GPU) have become a standard part of high-performance computing systems used for solving large scale computation problems. To relieve the main processor more and more time consumptive tasks are moved from CPU to GPU where algorithms run in parallel on a high number of GPU's processors. In this paper we present both sequential and parallel implementations of a simple matrix multiplication algorithm and we compare the overall execution time. To further speed up the execution we introduce the GPU's fast shared memory and the implementation of the matrix multiplication algorithm that exploits this memory. The results presented in this paper show that the GPU implementation with the use of shared memory is two times faster than the implementation that uses only device's global memory and up to 7.5 times faster than the CPU implementation.
9
John D. Owens, Michael Houston, David Luebke et al. · Proceedings of the IEEE · 2008 · 1.1K citations
On the Asymptotic Complexity of Matrix Multiplication
Don Coppersmith, S. Winograd · SIAM Journal on Computing · 1982 · 209 citations