Batched triangular dense linear algebra kernels for very small matrix sizes on GPUs
KAUST DepartmentApplied Mathematics and Computational Science Program
Extreme Computing Research Center
Computer, Electrical and Mathematical Sciences and Engineering (CEMSE) Division
Online Publication Date2019-05-06
Print Publication Date2019-05-03
Permanent link to this recordhttp://hdl.handle.net/10754/622975
MetadataShow full item record
AbstractBatched dense linear algebra kernels are becoming ubiquitous in scientific applications, ranging from tensor contractions in deep learning to data compression in hierarchical low-rank matrix approximation. Within a single API call, these kernels are capable of simultaneously launching up to thousands of similar matrix computations, removing the expensive overhead of multiple API calls while increasing the occupancy of the underlying hardware. A challenge is that for the existing hardware landscape (x86, GPUs, etc.), only a subset of the required batched operations is implemented by the vendors, with limited support for very small problem sizes. We describe the design and performance of a new class of batched triangular dense linear algebra kernels on very small data sizes (up to 256) using single and multiple GPUs. By deploying recursive formulations, stressing the register usage, maintaining data locality, reducing threads synchronization, and fusing successive kernel calls, the new batched kernels outperform existing state-of-the-art implementations.
CitationCharara, A., Keyes, D., & Ltaief, H. (2019). Batched Triangular Dense Linear Algebra Kernels for Very Small Matrix Sizes on GPUs. ACM Transactions on Mathematical Software, 45(2), 1–28. doi:10.1145/3267101
SponsorsThe authors thank NVIDIA for their hardware donations and remote access to their systems in the context of the NVIDIA GPU Research Center awarded to the Extreme Computing Research Center at KAUST.