This repository provides:
- Wrapper for typed and object-based interface of BLIS.
- Overwrite of
LinearAlgebra.BLASfunctions so that matrix multiplications can also be redirected to the BLIS backend.
- As BLIS itself is using actively templates and macros, this package also aims to maximize usage of Julia's metaprogramming features.
Above is a benchmark result obtained against generic-strided matrix multiplications. More performance results are available here.
using BLIS one replaces
LinearAlgebra with BLIS routines as its backends. This should allow direct computation (computation without copying) of generic strided matrices and mixed-datatype matrices. In addition to that BLIS' typed and object-based API are exposed as backends. See documentation for more details.
- Provide option to compile BLIS into Julia startup image.
- Incorporate HPAC/Linnea in this or another repository.