The BLAS API of BLASFEO
The BLAS API of BLASFEO
复制标题
BLASFEO 的 BLAS API
DOI:
--
复制
发表时间:
2019
影响因子:
2.7
通讯作者:
M. Diehl
中科院分区:
文献类型:
--
作者:
G. Frison;Tommaso Sartor;Andrea Zanelli;M. Diehl
Basic Linear Algebra Subroutines For Embedded Optimization (BLASFEO) is a dense linear algebra library providing high-performance implementations of BLAS- and LAPACK-like routines for use in embedded optimization and other applications targeting relatively small matrices. BLASFEO defines an application programming interface (API) which uses a packed matrix format as its native format. This format is analogous to the internal memory buffers of optimized BLAS, but it is exposed to the user and it removes the packing cost from the routine call. For matrices fitting in cache, BLASFEO outperforms optimized BLAS implementations, both open source and proprietary. This article investigates the addition of a standard BLAS API to the BLASFEO framework, and proposes an implementation switching between two or more algorithms optimized for different matrix sizes. Thanks to the modular assembly framework in BLASFEO, tailored linear algebra kernels with mixed column- and panel-major arguments are easily developed. This BLAS API has lower performance than the BLASFEO API, but it nonetheless outperforms optimized BLAS and especially LAPACK libraries for matrices fitting in cache. Therefore, it can boost a wide range of applications, where standard BLAS and LAPACK libraries are employed and the matrix size is moderate. In particular, this article investigates the benefits in scientific programming languages such as Octave, SciPy, and Julia.
DOI:
10.1145/3168812
发表时间:
2018-02
期刊:
Proceedings of the 2018 International Symposium on Code Generation and Optimization
影响因子:
--
作者:
Daniele G. Spampinato;Diego Fabregat-Traver;P. Bientinesi;Markus Püschel
通讯作者:
Daniele G. Spampinato;Diego Fabregat-Traver;P. Bientinesi;Markus Püschel