2013/04/25 by Chetan Jhurani, Jhurani, Chetan, Paul Mullowney +1
Computer Science · Physics and Astronomy · #Distributed #Electromagnetic Scattering and Analysis #FOS: Computer and information sciences #FOS: Mathematics #Mathematical Software (cs.MS) #Matrix Theory and Algorithms #Numerical Analysis (math.NA) #Parallel #Parallel Computing and Optimization Techniques #and Cluster Computing (cs.DC)
paper · pdf · doi:10.48550/arxiv.1304.7053
openalex publication_date 2013/04/25 · openalex created_date 2022/09/26 · openalex updated_date 2026/08/01
We present an interface and an implementation of the General Matrix Multiply\n(GEMM) routine for multiple small matrices processed simultaneously on NVIDIA\ngraphics processing units (GPUs). We focus on matrix sizes under 16. The\nimplementation can be easily extended to larger sizes. For single precision\nmatrices, our implementation is 30% to 600% faster than the batched cuBLAS\nimplementation distributed in the CUDA Toolkit 5.0 on NVIDIA Tesla K20c. For\nexample, we obtain 104 GFlop/s and 216 GFlop/s when multiplying 100,000\nindependent matrix pairs of size 10 and 16, respectively. Similar improvement\nin performance is obtained for other sizes, in single and double precision for\nreal and complex types, and when the number of matrices is smaller. Apart from\nour implementation, our different function interface also plays an important\nrole in the improved performance. Applications of this software include Finite\nElement computation on GPUs.\n