>From today's NA Digest (http://www.netlib.org/na-digest-html), a tidbit that's of interest for the current discussion...
- Rhys ---8<--- From: Field G. Van Zee [email protected] Date: April 07, 2014 Subject: The union of libflame and LAPACK Sponsored by an NSF Software Infrastructure for Sustained Innovation grant, we have been developing a new, vertically integrated dense linear algebra software stack. At the bottom of this software stack is the BLAS-like Library Instantiation Software (BLIS). Above this, targeting sequential and multithreaded architectures is libflame. At the top of the stack is Elemental for distributed memory architectures. libflame targets roughly the same layer as does LAPACK, and now we have incorporated the LAPACK code base into libflame. For those operations where libflame has the native functionality, the LAPACK code becomes an interface. For all other operations, the netlib implementation provides that functionality. We affectionately call this new union "flapack", which offers the following benefits: 1) The libflame implementation of LAPACK is entirely coded in C. No Fortran libraries or compilers are required. 2) The libflame library builds upon the BLIS interface. This interface, unlike the BLAS, allows for arbitrary row and column stride. While some applications may benefit from this (e.g., those that perform computation with slices of tensors), from a development and maintainability point of view it allows more functionality to be supported with less code. 3) The union of the two libraries allows users to benefit from both the LAPACK and libflame code base, within one package. 4) "flapack" passes the LAPACK test suite on platforms where we have tested this. (There is one exception of a test case that involves packed matrices that we believe is not in general use.) The library is available under a 3-clause BSD license at: https://github.com/flame/libflame ---8<---
