Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/JuliaLinearAlgebra/BLIS.jl
This repo plans to provide a low-level Julia wrapper for BLIS typed interface.
https://github.com/JuliaLinearAlgebra/BLIS.jl
blis julia matrix-multiplications wrapper
Last synced: 1 day ago
JSON representation
This repo plans to provide a low-level Julia wrapper for BLIS typed interface.
- Host: GitHub
- URL: https://github.com/JuliaLinearAlgebra/BLIS.jl
- Owner: JuliaLinearAlgebra
- License: bsd-3-clause
- Created: 2020-09-23T21:30:53.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2023-04-20T05:54:42.000Z (over 1 year ago)
- Last Synced: 2024-09-20T11:07:06.998Z (about 2 months ago)
- Topics: blis, julia, matrix-multiplications, wrapper
- Language: Julia
- Homepage:
- Size: 1.52 MB
- Stars: 26
- Watchers: 4
- Forks: 4
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-gemm - BLIS.jl - level Julia wrapper for BLIS typed interface. (Tiny Examples)
README
BLIS.jl
=======[![][docs-dev-img]][docs-dev-url] [![CI][github-img]][github-url] [![][codecov-img]][codecov-url]
[docs-dev-url]: https://JuliaLinearAlgebra.github.io/BLIS.jl/dev
[docs-dev-img]: https://img.shields.io/badge/docs-dev-blue.svg
[github-img]: https://github.com/JuliaLinearAlgebra/BLIS.jl/workflows/CI/badge.svg
[github-url]: https://github.com/JuliaLinearAlgebra/BLIS.jl/actions?query=workflow%3ACI
[codecov-img]: https://codecov.io/gh/JuliaLinearAlgebra/BLIS.jl/branch/master/graph/badge.svg
[codecov-url]: https://codecov.io/gh/JuliaLinearAlgebra/BLIS.jlThis repository provides:
- Wrapper for typed and object-based interface of [BLIS](https://github.com/flame/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](docs/src/performance.md).
## 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][docs-dev-url] for more details.
## Roadmaps
- Provide option to compile BLIS into Julia startup image.
- Incorporate [HPAC/Linnea](https://github.com/HPAC/linnea) in this
or another repository.