General matrix multiplication for f32, f64 matrices. Operates on matrices with general layout (they can use arbitrary row and column stride).
Please read the API documentation here
__
__ https://docs.rs/matrixmultiply/
This crate uses the same macro/microkernel approach to matrix multiplication as the BLIS_ project.
We presently provide a few good microkernels portable and for x86-64, and only one operation: the general matrix-matrix multiplication (“gemm”).
.. _BLIS: https://github.com/flame/blis
Blog posts about this crate:
A Gemmed Rabbit Hole
____ https://bluss.github.io/rust/2016/03/28/a-gemmed-rabbit-hole/
|buildstatus| |crates|_
.. |buildstatus| image:: https://travis-ci.org/bluss/matrixmultiply.svg?branch=master .. _buildstatus: https://travis-ci.org/bluss/matrixmultiply
.. |crates| image:: https://meritbadge.herokuapp.com/matrixmultiply .. _crates: https://crates.io/crates/matrixmultiply
0.2.0
This means no special compiler flags are needed to enable native instruction performance!
Implement a specialized 8×8 sgemm (f32) AVX microkernel, this speeds up matrix multiplication by another 25%.
Use std::alloc
for allocation of aligned packing buffers
We now require Rust 1.28 as the minimal version
0.1.15
0.1.14
0.1.13
rawpointer
, a µcrate with raw pointer methods taken from this
project.0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1