BLASFEO: Basic Linear Algebra Subroutines for Embedded Optimization

被引:65
作者
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
    Frasch, Janick V.
    Sager, Sebastian
    Diehl, Moritz
    [J]. 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
    Goto, Kazushige
    Van De Geijn, Robert A.
    [J]. ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2008, 34 (03):
  • [10] High-performance implementation of the level-3 BLAS
    Goto, Kazushige
    Van De Geijn, Robert
    [J]. ACM TRANSACTIONS ON MATHEMATICAL SOFTWARE, 2008, 35 (01): : 1 - 14