volk
nsimd
volk | nsimd | |
---|---|---|
2 | 2 | |
512 | 315 | |
1.4% | 1.6% | |
8.9 | 0.0 | |
about 1 month ago | over 2 years ago | |
C++ | C | |
GNU Lesser General Public License v3.0 only | 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.
volk
-
RISC-V Business: Testing StarFive's VisionFive 2 SBC
I wonder how much of the performance will improve when compilers get better at RISC-V.
It's been a long time since I could beat the compiler at optimizing assembly on x86, yet in the end merely unrolling a loop and keeping an eye on write-read stalls I managed to get a simple "multiply array by const" about 56% faster:
https://github.com/gnuradio/volk/pull/619
And that's with hardware that doesn't even have vector instructions! I'd understand GCC not supporting that yet.
Some other quickstart docs and hot takes from me on this hardware: https://blog.habets.se/2023/01/VisionFive-2-quickstart.html
- AVX/AVX-512 Tuning Doesn't Payoff for LibreOffice's Calc Spreadsheets
nsimd
-
SPO600 project part 1
I've decided to switch to something better, and after a few hours of searching, I found this repository: NSIMD https://github.com/agenium-scale/nsimd FastDifferentialCoding https://github.com/lemire/FastDifferentialCoding VS https://github.com/VcDevel/Vc XSIMD https://github.com/xtensor-stack/xsimd
-
All C++20 core language features with examples
> - Waiting for Cross-Platform standardized SIMD vector datatypes
which language has standardized SIMD vector datatypes ? most languages don't even have any ability to express SIMD while in C++ I can just use Vc (https://github.com/VcDevel/Vc), nsimd (https://github.com/agenium-scale/nsimd) or one of the other ton of alternatives, and have stuff that JustWorksTM on more architectures than most languages even support
- Using nonstandard extensions, libraries or home-baked solutions to run computations in parallel on many cores or on different processors than the CPU
what are the other native languages with a standardized memory model for atomics ? and, what's the problem with using libraries ? it's not like you're going to use C# or Java's built-in threadpools if you are doing any serious work, no ? Do they even have something as easy to use as https://github.com/taskflow/taskflow ?
- Debugging cross-platform code using couts, cerrs and printfs
because people never use console.log in JS or System.println in C# maybe ?
- Forced to use boost for even quite elementary operations on std::strings.
can you point to non-trivial java projects that do not use Apache Commons ? Also, the boost string algorithms are header-only so you will end up with exactly the same binaries that if it was in some std::string_algorithms namespace:
https://gcc.godbolt.org/z/43vKadbde
What are some alternatives?
sliceslice-rs - A fast implementation of single-pattern substring search using SIMD acceleration.
simde - Implementations of SIMD instruction sets for systems which don't natively support them.
xsimd - C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))
sleef - SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
riscv-profiles - RISC-V Architecture Profiles
std-simd - std::experimental::simd for GCC [ISO/IEC TS 19570:2018]
highway - Performance-portable, length-agnostic SIMD with runtime dispatch
Vc - SIMD Vector Classes for C++
linux-on-litex-vexriscv - Linux on LiteX-VexRiscv
GLM - OpenGL Mathematics (GLM)
highway - Highway - A Modern Javascript Transitions Manager