BLIS.jl
                                
                                 BLIS.jl copied to clipboard
                                
                                    BLIS.jl copied to clipboard
                            
                            
                            
                        This repo plans to provide a low-level Julia wrapper for BLIS typed interface.
BLIS.jl
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.
Performance
 
Above is a benchmark result obtained against generic-strided matrix multiplications. More performance results are available here.
Installation
]add BLIS.jl
Usage
Basically by 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.
Roadmaps
- Provide option to compile BLIS into Julia startup image.
- Incorporate HPAC/Linnea in this or another repository.