argminmax
simde
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
argminmax
-
[P] tsdownsample: extremely fast time series downsampling for visualization
Fast: leverages the optimized argminmax crate which is SIMD accelerated with runtime feature detection (matches or even outperforms numpy's speed)
-
tsdownsample: extremely fast time series downsampling written in Rust
tsdownsample brings highly optimized time series downsampling to Python, by using the SIMD optimized argminmax crate - which matches or even outperforms numpy's speed (300x faster for f16). Through using runtime feature set detection, this crate selects the most optimal SIMD implementation for the current CPU (supports SSE, AVX(2), AVX512, NEON).
-
My first rust project: argminmax - efficient argmin & argmax with SIMD avx2
Code: https://github.com/jvdd/argminmax
simde
-
The Case of the Missing SIMD Code
I was curious about these libraries a few weeks ago and did some searching. Is there one that's got a clearly dominating set of users or contributors?
I don't know what a good way to compare these might be, other than perhaps activity/contributor count.
[1] https://github.com/simd-everywhere/simde
[2] https://github.com/ermig1979/Simd
[3] https://github.com/google/highway
[4] https://gitlab.com/libeigen/eigen
[5] https://github.com/shibatch/sleef
-
Rise: Accelerate the Development of Open Source Software for RISC-V
I note that SIMDe doesn't have RISC-V support yet (but it does support Loongson LoongArch):
https://github.com/simd-everywhere/simde/
There are still a ton of things to do to get the Debian riscv64 port going too:
https://wiki.debian.org/PortsDocs/New
- SIMD intrinsics and the possibility of a standard library solution
-
Portable SIMD library
SIMDe is everything you're after: https://github.com/simd-everywhere/simde
- SIMD Everywhere – SIMD intrinsics on hardware which doesn't support them
-
Making Your Own Tools
> low level code that can run on multiple hardware architectures
I thought SIMD Everywhere was a pretty interesting project for that, lets you write x86 SSE/AVX code and run it on non-x86 architectures:
https://github.com/simd-everywhere/simde
-
Adobe Photoshop Ships on Macs Apple Silicon/M1 – 50% Faster
> architecture-specific features such as SSE/AVX which is not portable.
I don’t have hands-on experience, but somewhere on HN I saw this: https://github.com/simd-everywhere/simde If starting a new cross-platform project today, I would try that library first, before doing the usual intrinsics.
What are some alternatives?
simd-adler32 - A SIMD-accelerated Adler-32 hash algorithm implementation.
nsimd - Agenium Scale vectorization library for CPUs and GPUs
tsdownsample - High-performance time series downsampling algorithms for visualization
sse2neon - A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation
android-inline-hook - :fire: ShadowHook is an Android inline hook library which supports thumb, arm32 and arm64.
libsimdpp - Portable header-only C++ low level SIMD library
Sparkle - A software update framework for macOS
picoRTOS - Very small, lightning fast, yet portable RTOS with SMP suppport
simdutf - Unicode routines (UTF8, UTF16, UTF32) and Base64: billions of characters per second using SSE2, AVX2, NEON, AVX-512, RISC-V Vector Extension. Part of Node.js and Bun.
darktable - darktable is an open source photography workflow application and raw developer
wav - Type-safe C/C++ API for WASM SIMD.
streamvbyte - Fast integer compression in C using the StreamVByte codec