Skip to content

This repo plans to provide a low-level Julia wrapper for BLIS typed interface.

License

Notifications You must be signed in to change notification settings

JuliaLinearAlgebra/BLIS.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BLIS.jl

CI

This repository provides:

  • Wrapper for typed and object-based interface of BLIS.
  • Overwrite of LinearAlgebra.BLAS functions 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.