The objective of the FLAME project is to transform
the development of dense linear algebra libraries from an art reserved
for experts to a science that can be understood by novice and expert
alike. Rather than being only a library, the project encompasses a new
notation for expressing algorithms, a methodology for systematic
derivation of algorithms, Application Program Interfaces (APIs) for
representing the algorithms in code, and tools for mechanical
derivation, implementation and analysis of algorithms and
High Performance Libraries
Three high performance dense linear algebra libraries,
each addressing a layer in the linear algebra software stack, have
been developed by the team and our collaborators from both academia
BLIS is a software framework for instantiating
high-performance BLAS-like dense linear algebra libraries. BLIS is
written in Standard C (mostly ISO C90 with a few C99 extensions)
and available under a new/modified/3-clause BSD license.
libFLAME is a high performance dense linear algebra library that is the result of the FLAME methodology for systematically developing dense linear algebra libraries. The FLAME methodology is radically different from the LINPACK/LAPACK approach that dates back to the 1970s.
Elemental is a framework for distributed-memory dense linear
algebra that strives to be both fast and convenient. It combines
ideas including: element-wise matrix distributions,
object-oriented submatrix tracking, and first-class matrix
distributions. Many algorithms use techniques from LAPACK
in order to improve numerical stability.