CF's Accelerated Vector Math Library
Various accelerated vector operations over Rust primitives with SIMD.
- AVX2
- AVX2 + FMA
- AVX512
- NEON
- Fallback (Typically optimized to SSE automatically by LLVM on x86)
This is the core base library, it has no dependencies and only depends on the core
library,
it does not perform any allocations.
This library is guaranteed to be no-std compatible and can be adjusted by disabling the std
feature flag:
cfavml = "0.1.0"
cfavml = { version = "0.1.0", default-features = false }
Generic matrix multiplication routines + transposition.
This crate is a WIP and is not currently published.
You should not use this crate currently.
This crate is a WIP and is not currently published.
Are a set of utilities primarily designed to just be use by the other cfavml sub-crates. This contains a lightly wrapped rayon threadpool with CPU pinning and provides the ability to create aligned buffers.
NOTE:
This library is not no-std compatible and does allocate.
No. At least, not unless you're only doing dot product... BLAS and LAPACK are huge and I am certainly not in the market for implementing all BLAS routines in Rust, but that being said if your application is similar to that of ndarray where it is only using BLAS for the dot product, then maybe.