High Performance Matrix Multiplication
By: Ethan Davis
Potential Business Impact:
Makes computers do math faster for games and science.
Matrix multiplication is the foundation from much of the success from high performance technologies like deep learning, scientific simulations, and video graphics. High level programming languages like Python and R rely on highly optimized low level libraries for performing core linear algebra operations like matrix multiplication from Basic Linear Algebra Subprograms (BLAS). This paper compares the performance of five different matrix multiplication algorithms using CuBLAS, CUDA, BLAS, OpenMP, and C++ Threads. We find statistical significance with a p-value below 5e-12 to support the hypothesis that for square $N \times N$ matrices where $N$ is at least 10,000 then the in order performance as measured in floating point operations per second (FLOPS) for these matrix multiplication algorithms is CuBLAS, CUDA, BLAS, OpenMP, and C++ Threads.
Similar Papers
Accurate Models of NVIDIA Tensor Cores
Mathematical Software
Makes computer math results the same everywhere.
Low-Rank GEMM: Efficient Matrix Multiplication via Low-Rank Approximation with FP8 Acceleration
Performance
Makes AI learn much faster and use less memory.
The Ubiquitous Sparse Matrix-Matrix Products
Numerical Analysis
Speeds up computer math for science and AI.