Acceleration Opportunities in Linear Algebra Applications via Idiom Recognition
João P. L. de Carvalho, Braedy Kuzma, Guido Costa Souza De Araujo · 2020
General matrix-matrix multiplication (GEMM) is a critical operation in many application domains [1]. It is a central building block of deep learning algorithms, computer graphics operations, and other linear algebra dominated applications. Due to this, GEMM has been extensively studied and optimized, resulting in libraries of exceptional quality such as BLAS, Eigen, and other platform specific implementations such as MKL (Intel) and ESSL (IBM) [2,3]. Despite these successes, the GeMM idiom continues to be re-implemented by programmers, without consideration for the intricacies already accounted for by the aforementioned libraries. To this end, this project aims to provide transparent adoption of high-performance implementations of GEMM through a novel optimization pass implemented within the LLVM framework using idiom recognition techniques[4]. Sub-optimal implementations of GEMM are replaced by equivalent library calls.