simd_decimal
simde
simd_decimal | simde | |
---|---|---|
1 | 7 | |
10 | 2,175 | |
- | 1.5% | |
10.0 | 9.1 | |
over 1 year ago | 2 days ago | |
Rust | C | |
MIT License | MIT License |
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.
simd_decimal
-
SIMD intrinsics and the possibility of a standard library solution
Compare this neon parser and this sse parser, or for a very direct example what happens if you naively do the x86 method of vector search on arm. The shuffle and accumulation for each parser is drastically different, since the set of horizontal multiply-accumulates are different.
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?
ispc - Intel® Implicit SPMD Program Compiler
nsimd - Agenium Scale vectorization library for CPUs and GPUs
sleef - SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
sse2neon - A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation
xsimd - C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))
android-inline-hook - :fire: ShadowHook is an Android inline hook library which supports thumb, arm32 and arm64.
version2 - Vector class library, latest version
libsimdpp - Portable header-only C++ low level SIMD library
highway - Performance-portable, length-agnostic SIMD with runtime dispatch
Sparkle - A software update framework for macOS
Skia - Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.
picoRTOS - Very small, lightning fast, yet portable RTOS with SMP suppport