Litcius/Paper detail

A Set of Batched Basic Linear Algebra Subprograms and LAPACK Routines

Ahmad Abdelfattah, Timothy Costa, Jack Dongarra, Mark Gates, Azzam Haidar, Sven Hammarling, Nicholas J. Higham, Jakub Kurzak, Piotr Łuszczek, Stanimire Tomov, Mawussi Zounon

2021ACM Transactions on Mathematical Software36 citationsDOIOpen Access PDF

Abstract

This article describes a standard API for a set of Batched Basic Linear Algebra Subprograms (Batched BLAS or BBLAS). The focus is on many independent BLAS operations on small matrices that are grouped together and processed by a single routine, called a Batched BLAS routine. The matrices are grouped together in uniformly sized groups, with just one group if all the matrices are of equal size. The aim is to provide more efficient, but portable, implementations of algorithms on high-performance many-core platforms. These include multicore and many-core CPU processors, GPUs and coprocessors, and other hardware accelerators with floating-point compute facility. As well as the standard types of single and double precision, we also include half and quadruple precision in the standard. In particular, half precision is used in many very large scale applications, such as those associated with machine learning.

Topics & Concepts

Computer scienceLinear algebraDouble-precision floating-point formatCoprocessorParallel computingSet (abstract data type)ImplementationSingle-precision floating-point formatMulti-core processorFloating pointComputational scienceAlgorithmProgramming languageMathematicsGeometryParallel Computing and Optimization TechniquesNumerical Methods and AlgorithmsMatrix Theory and Algorithms