PackageTrack
Sign in Get early access

matrixmultiply

General matrix multiplication for f32 and f64 matrices. Operates on matrices with general layout (they can use arbitrary row and column stride). Detects and uses SIMD features on x86/x86-64 and AArch64 transparently for higher performance. Uses a microkernel strategy, so that the implementation is easy to parallelize and optimize. Supports multithreading.

0.3.11 132M downloads/mo #686 most downloaded on crates.io bluss/matrixmultiply

What this package is like to depend on

Last release 1 months ago

14 Jul 2026

Ships fairly regularly

a new release about every 10 months

This project publishes no release notes

the list below is its commits, not an announcement

Nothing withdrawn

no release was ever pulled

10 years old

33 releases · first in 2016

1 release in the last 12 months

see the full history below

Release timeline

33 releases · Mar 2016 to Jul 2026
2017 2018 2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 33
  1. 0.3.11 14 Jul 2026
    Commits, not release notes

    This project publishes no release notes. Between 0.3.10 and 0.3.11 there were 49 commits, 46 of them substantive:

    • Remove unused old files (kernels and benchmark results)
    • maint: Update crate excludes
    • bench: Support layout change (i.e fcf vs fcc)
    • maint: Configure away one annoying clippy lint
    • sgemm: Add wasm32 SIMD128 kernel
    • ci: Add wasm32 SIMD128 test job
    • sgemm: simplify kernel_x86_avx logic and reduce shuffle overhead
    • Fix typo in architecture-specific parameters comment (#92)
    • maint: very short CONTRIBUTING.md file with developer info
    • bench: Support wasmtime runner in benchmark
    • bench: Push down layout loop
    • bench: Support selecting wasm feature set
    • test: Add justfile for wasmtest command
    • wasm: Add relaxed-simd relaxed_madd function
    • wasm: Use muladd in epilogue
    • wasm: Use muladd in loop
    • wasm: Refactor loop
    • doc: Document wasm32 features in module doc
    • test: Test wasm relaxed-simd and update ci settings
    • Use MaybeUninit for uninitialized packing buffer memory

    …and 26 more.

  2. 0.3.10 12 May 2025
    Commits, not release notes

    This project publishes no release notes. Between 0.3.9 and 0.3.10 there were 8 commits, 6 of them substantive:

    • kernel: Silence unused method warning
    • debugmacros: Silence unknown cfg warning
    • example/usegemm: Remove unused method
    • ci: Pin either=1.13 for MSRV
    • Exclude alignment for MaskBuffer for i686-win7-windows-msvc
    • sgemm: Reduce unnecessary AVX register permutations
  3. 0.3.9 27 Jul 2024
    Commits, not release notes

    This project publishes no release notes. Between 0.3.8 and 0.3.9 there were 5 commits, 3 of them substantive:

    • Remove obsolete lint directive
    • ci: Test with cargo-careful and ThreadSanitizer
    • Fix alignment in s390x and cross test
  4. 0.3.8 21 Sep 2023
    Commits, not release notes

    This project publishes no release notes. Between 0.3.7 and 0.3.8 there were 5 commits, 4 of them substantive:

    • bench: Add non-contiguous layouts
    • gemm: request 8-byte buffer alignment on macos
    • ci: Drop 1.41 in cross test
    • gemm: Ensure alignment without repr(align()) on macos
  5. 0.3.7 02 May 2023
    Commits, not release notes

    This project publishes no release notes. Between 0.3.6 and 0.3.7 there were 2 commits, 1 of them substantive:

    • Remove space from file names
  6. 0.3.6 30 Apr 2023
    Commits, not release notes

    This project publishes no release notes. Between 0.3.5 and 0.3.6 there were 2 commits, 1 of them substantive:

    • Fix nostd build
  7. 0.3.5 30 Apr 2023
    Commits, not release notes

    This project publishes no release notes. Between 0.3.4 and 0.3.5 there were 9 commits, 7 of them substantive:

    • gemm: Allow custom packing functions
    • complex: pack real and imag separately
    • cgemm: Setup Avx2 and Fma autovectorized kernels
    • x86-64: Specialize pack function for avx2
    • cgemm: use fma in avx2 kernel
    • cgemm: Add known-answer test
    • cgemm: enable fma for neon
  8. 0.3.4 28 Apr 2023
    Commits, not release notes

    This project publishes no release notes. Between 0.3.3 and 0.3.4 there were 11 commits, 9 of them substantive:

    • loopmacros: Use while loop
    • bench: Test both beta != 0 and 0 in layout benchmarks
    • sgemm kernel for NEON arm64/aarch64
    • dgemm kernel for NEON arm64/aarch64
    • ci: Test aarch64 at its MSRV
    • threading: Remove bias for aarch64
    • uninline c_to_beta_c
    • gemm: Use slice for packing buffer
    • Use build script to preserve MSRV on aarch64
  9. 0.3.3 20 Apr 2023
    Commits, not release notes

    This project publishes no release notes. Between 0.3.2 and 0.3.3 there were 7 commits, 6 of them substantive:

    • ptr: Fix Send/Sync impls for future compat warning
    • Fix Miri error with -Zmiri-tag-raw-pointers
    • Add more checks to MIRIFLAGS for CI
    • Updated comment in kernel_x86_avx
    • ptr: Silence suspicious Send/Sync impls warning
    • gemm: request only 16-byte alignment on macos
  10. 0.3.2 20 Nov 2021

    Nothing published for this version

  11. 0.3.1 08 Apr 2021

    Nothing published for this version

  12. 0.3.0 08 Jan 2021

    Nothing published for this version

  13. 0.2.4 07 Dec 2020

    Nothing published for this version

  14. 0.2.3 20 Sep 2019

    Nothing published for this version

  15. 0.2.2 08 Dec 2018

    Nothing published for this version

  16. 0.2.1 27 Nov 2018

    Nothing published for this version

  17. 0.2.0 21 Nov 2018

    Nothing published for this version

  18. 0.1.15 27 Oct 2018

    Nothing published for this version

  19. 0.1.14 29 Oct 2017

    Nothing published for this version

  20. 0.1.13 19 Dec 2016

    Nothing published for this version

  21. 0.1.12 10 Nov 2016

    Nothing published for this version

  22. 0.1.11 18 Oct 2016

    Nothing published for this version

  23. 0.1.10 23 Sep 2016

    Nothing published for this version

  24. 0.1.9 18 Aug 2016

    Nothing published for this version

  25. 0.1.8 16 Apr 2016

    Nothing published for this version

  26. 0.1.7 04 Apr 2016

    Nothing published for this version

  27. 0.1.6 01 Apr 2016

    Nothing published for this version

  28. 0.1.5 01 Apr 2016

    Nothing published for this version

  29. 0.1.4 31 Mar 2016

    Nothing published for this version

  30. 0.1.3 29 Mar 2016

    Nothing published for this version

  31. 0.1.2 29 Mar 2016

    Nothing published for this version

  32. 0.1.1 29 Mar 2016

    Nothing published for this version

  33. 0.1.0 28 Mar 2016

    Nothing published for this version

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive