version2
simde
version2 | simde | |
---|---|---|
6 | 7 | |
1,223 | 2,175 | |
1.6% | 1.7% | |
5.8 | 9.1 | |
3 months ago | 5 days ago | |
C++ | C | |
Apache License 2.0 | 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.
version2
-
SIMD intrinsics and the possibility of a standard library solution
Vector class library - 938 GH stars
- Checking for the absence of a string, naive AVX-512 edition
-
-π- 2022 Day 4 Solutions -π-
Most of the time is spent parsing, but this problem lends itself nicely to a SIMD formulation, which using vectorclass doesn't even require detailed knowledge of the intrinsics. Hot runs take ~14 Β΅s on a Core i9-12900K, including I/O. Full code is (here)[https://github.com/ahans/aoc2022/blob/main/cpp/day04.cc], the interesting part is this, where we process 32 elements at once:
- Significantly faster quicksort using SIMD
- Parsing JSON faster with Intel AVX-512
- What do you think is faster for batch-processing a lot of "double-type" arithmetic?
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?
highway - Performance-portable, length-agnostic SIMD with runtime dispatch
nsimd - Agenium Scale vectorization library for CPUs and GPUs
aoc22 - Advent of Code solutions for 2022 (in Python)
sse2neon - A translator from Intel SSE intrinsics to Arm/Aarch64 NEON implementation
advent2022
android-inline-hook - :fire: ShadowHook is an Android inline hook library which supports thumb, arm32 and arm64.
adventOfCode2022
libsimdpp - Portable header-only C++ low level SIMD library
Day4 - My (messy) Python3 solution for day4's puzzle.
Sparkle - A software update framework for macOS
advent-of-code
picoRTOS - Very small, lightning fast, yet portable RTOS with SMP suppport