Performance, Design, and Autotuning of Batched GEMM for GPUs

TitlePerformance, Design, and Autotuning of Batched GEMM for GPUs
Publication TypeTech Report
Year of Publication2016
AuthorsAbdelfattah, A., A. Haidar, S. Tomov, and J. Dongarra
Technical Report Series TitleUniversity of Tennessee Computer Science Technical Report
NumberUT-EECS-16-739
Date Published2016-02
InstitutionUniversity of Tennessee
KeywordsAutotuning, Batched GEMM, GEMM, GPU computing, HPC
AbstractAbstract. The general matrix-matrix multiplication (GEMM) is the most important numerical kernel in dense linear algebra. It is the key component for obtaining high performance in most LAPACK routines. As batched computations on relatively small problems continue to gain interest in many scientific applications, there becomes a need to have a high performance GEMM kernel for a batch of small matrices. Such kernel should be well designed and tuned to handle small sizes, and to maintain high performance for realistic test cases found in the higher level LAPACK routines, and scientific computing applications in general. This paper presents a high performance batched GEMM kernel on Graphics Processing Units (GPUs). We address batched problems with both xed and variable sizes, and show that specialized GEMM designs and a comprehensive autotuning process are needed to handle problems of small sizes. For most performance test reported in this paper, the proposed kernels outperform state-of-the-art approaches using a K40c GPU.
Project Tags: