Matrix Multiplication, GSoC
Changes since v0.15.0
- GLAS part 1 was added. This is generic BLAS implementation. Single thread for now.
- GLAS Level 3 GEMM[1] and SYMM was added. It implements GEMM, SYMM and HEMM BLAS functionality. It is fully optimised. See also Mir GLAS vs OpenBLAS benchmark.
- GLAS Level 1 was added. It contains full BLAS Level 1 api except
rotg
. It is partially optimised for now, but much faster then common loops. - Experimental GLAS Level 2 GEMV[2] was added. It implements (S/D)GEMV BLAS functionality. It is partially optimised for now, but faster then common loops.
- Tinflex and discrete RNGs implementations was added. This is GSoC project by @wilzbach. See also the blog post.
- A couple of new functions was added to
ndslice
. ndslice.algorithm
was added. It is partially optimised for now, but much faster then common loops.- Mir requires LDC compiler since this release. DMD is not supported anymore.
- Mir organization is home for dcompute project by @thewilsonator. This project is designed to work with LDC to enable native execution of D on GPUs (and other more exotic targets of OpenCL).
[1] - general matrix-matrix multiplication.
[1] - general matrix-vector multiplication.