BLASFEO: Basic Linear Algebra Subroutines for Embedded Optimization

被引:67
作者
Frison, Gianluca [1 ]
Kouzoupis, Dimitris [1 ]
Sartor, Tommaso [1 ]
Zanelli, Andrea [1 ]
Diehl, Moritz [1 ,2 ]
机构
[1] Univ Freiburg, Dept Microsyst Engn, Georges Koehler Allee 102, D-79110 Freiburg, Germany
[2] Univ Freiburg, Dept Math, Georges Koehler Allee 102, D-79110 Freiburg, Germany
来源
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE | 2018年 / 44卷 / 04期
关键词
Linear algebra; libraries; high-performance; matrix; BLAS;
D O I
10.1145/3210754
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 small-scale high-performance computing, in general. A key difference with respect to existing high-performance implementations of BLAS is that the computational performance is optimized for smallto medium-scale matrices, i.e., for sizes up to a few hundred. BLASFEO comes with three different implementations: a high-performance implementation aimed at providing the highest performance for matrices fitting in cache, a reference implementation providing portability and embeddability and optimized for very small matrices, and a wrapper to standard BLAS and LAPACK providing high performance on large matrices. The three implementations of BLASFEO together provide high-performance dense linear algebra routines for matrices ranging from very small to large. Compared to both open-source and proprietary highly tuned BLAS libraries, for matrices of size up to about 100, the high-performance implementation of BLASFEO is about 20-30% faster than the corresponding level 3 BLAS routines and two to three times faster than the corresponding LAPACK routines.
引用
收藏
页数:30
相关论文
共 22 条
[1]  
[Anonymous], 2015, THESIS
[2]  
[Anonymous], TR200255 U TEX AUST
[3]  
[Anonymous], 2002, Predictive Control: With Constraints
[4]  
[Anonymous], 2017, P IFAC WORLD C
[5]  
BLASFEO, 2016, BLASFEO
[6]  
Eigen, 2010, EIGEN V3
[7]   A parallel quadratic programming method for dynamic optimization problems [J].
Frasch, Janick V. ;
Sager, Sebastian ;
Diehl, Moritz .
MATHEMATICAL PROGRAMMING COMPUTATION, 2015, 7 (03) :289-329
[8]  
Frison G, 2014, 2014 EUROPEAN CONTROL CONFERENCE (ECC), P128, DOI 10.1109/ECC.2014.6862490
[9]   Anatomy of high-performance matrix multiplication [J].
Goto, Kazushige ;
Van De Geijn, Robert A. .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2008, 34 (03)
[10]   High-performance implementation of the level-3 BLAS [J].
Goto, Kazushige ;
Van De Geijn, Robert .
ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2008, 35 (01) :1-14