Unit 1.5.2 The BLAS-like Library Instantiation Software (BLIS)
ΒΆBLIS provides the currently recommended open-source implementation of the BLAS for traditional CPUs. It is the version used in this course. Its extensive documentation (and source) can be found at https://github.com/flame/blis/
. The techniques you learn in this course underlie the implementation of matrix-matrix multiplication in BLIS.
In addition to supporting the traditional BLAS interface, BLIS also exposes two more interfaces:
The BLIS Typed API, which is BLAS-like, but provides more functionalility and what we believe to be a more flexible interface for the C and C++ programming languages.
The BLIS Object-Based API, which elegantly hides many of the details that are exposed in the BLAS and Typed API interfaces.
BLIS is described in the paper
Field G. Van Zee and Robert A. van de Geijn, BLIS: A Framework for Rapidly Instantiating BLAS Functionality, ACM Journal on Mathematical Software, Vol. 41, No. 3, June 2015. You can access this article for free by visiting the Science of High-Performance Computing group publication webpage (
http://shpc.ices.utexas.edu/publications.html
) and clicking on the title of Journal Article 39.
Many additional related papers can be found by visiting the BLIS GitHub repository (https://github.com/flame/blis
) or the Science of High-Performance Computing group publication webpage (http://shpc.ices.utexas.edu/publications.html
).