matrixmultiply_mt 0.2.1

Multithreaded Fork of bluss's matrixmultiply crate. General matrix multiplication of f32 and f64 matrices in Rust. Supports matrices with general strides. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. `RUSTFLAGS="-C target-cpu=native"` is your friend here.
Documentation
1
2
3
4
5
6
7
8
9
10
11

test mat_mul_f32::m004             ... bench:         172 ns/iter (+/- 2)
test mat_mul_f32::m007             ... bench:         271 ns/iter (+/- 5)
test mat_mul_f32::m008             ... bench:         286 ns/iter (+/- 15)
test mat_mul_f32::m012             ... bench:         650 ns/iter (+/- 12)
test mat_mul_f32::m016             ... bench:         945 ns/iter (+/- 59)
test mat_mul_f32::m032             ... bench:       4,638 ns/iter (+/- 104)
test mat_mul_f32::m064             ... bench:      27,748 ns/iter (+/- 587)
test mat_mul_f32::m127             ... bench:     188,977 ns/iter (+/- 8,601)
test mat_mul_f32::mix128x10000x128 ... bench:  14,293,288 ns/iter (+/- 2,022,603)
test nonative_mat_mul_f32::m127             ... bench:     272,487 ns/iter (+/- 5,289)