1 unstable release
| 0.7.33 | May 26, 2025 |
|---|
#775 in Hardware support
9,320 downloads per month
Used in 2 crates
(via libafl_bolts)
505KB
15K
SLoC
A crate to help you go wide.
This crate provides SIMD-compatible data types.
When possible, explicit SIMD is used with all the math operations here. As a fallback, the fact that all the lengths of a fixed length array are doing the same thing will often make LLVM notice that it should use SIMD instructions to complete the task. In the worst case, the code just becomes totally scalar (though the math is still correct, at least).
Crate Features
std: This causes the feature to link tostd.- Currently this just improves the performance of
sqrtwhen an explicit SIMDsqrtisn't available.
- Currently this just improves the performance of
libafl_wide
A crate to help you go wide, but released for libafl. Forked from https://github.com/Lokathor/wide and should be replace once they release next version.
Specifically, this has portable "wide" data types that do their best to be SIMD when possible.
On x86, x86_64, wasm32 and aarch64 neon this is done with explicit
intrinsic usage (via safe_arch), and on other
architectures this is done by carefully writing functions so that LLVM hopefully
does the right thing. When Rust stabilizes more explicit intrinsics then they
can go into safe_arch and then they can get used here.
Dependencies
~1MB
~14K SLoC