Contact

Dipl.-Math. Martin Köhler
Dipl.-Math. Martin Köhler
Phone: +49 391 6110 445
Fax: +49 391 6110 453
Dr. Jens Saak
Dr. Jens Saak
Phone: +49 391 6110 216
Fax: +49 391 6110 453

FlexiBLAS - A Blas wrapper library with runtime exchangable backends

FlexiBLAS - A Blas wrapper library with runtime exchangable backends

The BLAS library is one of the central libraries for the implementation of numerical algorithms. It serves as the basis for many other numerical libraries like LAPACK, PLASMA or MAGMA (to mention only the most obvious). Thus a fast BLAS implementation is the key ingredient for efficient  applications in this area. However, for debugging or benchmarking purposes it is often necessary to replace the underlying BLAS implementation of an application, e.g. to disable threading or to include  debugging symbols. We present a novel  framework that allows one to exchange the BLAS implementation at   run-time via an environment variable. Our concept neither requires relinkage, nor recompilation of the application. Numerical experiments show that there is no notable overhead introduced by this new approach. For only a very little overhead the framework naturally extends to a minimal profiling setup that allows one to count numbers of calls to the BLAS routines used and measure the time spent therein.

Downloads

Version 2.0.0 Older versions:

Recent Changes

From version 2.0.0 (26/04/2017) FlexiBLAS supports:
  • All LAPACK routines included up to LAPACK Version 3.7.0
  • per host user settings

Installation Instructions

Simply download the source tarball and follow the steps described in the README.md file therein. Alternatively, you can check the Installation Instructions page for a method with better integration into your systems package management.

Related News

Related Publications

Posters and Talks

 
loading content