despacer
nsimd
despacer | nsimd | |
---|---|---|
2 | 2 | |
147 | 315 | |
- | 1.6% | |
5.6 | 0.0 | |
5 months ago | over 2 years ago | |
C | C | |
BSD 3-clause "New" or "Revised" 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.
despacer
-
Removing characters from strings faster with AVX-512
Cool performance enhancement, with an accompanying implementation in a real-world library (https://github.com/lemire/despacer).
Still, what does it signal that vector extensions are required to get better string performance on x86? Wouldn't it be better if Intel invested their AVX transistor budget into simply making existing REPB prefixes a lot faster?
-
Intel Nukes Alder Lake's AVX-512 Support, Now Fuses It Off in Silicon
If you're looking for an example, perhaps the despacer problem might be one which doesn't get too complex. Do you know of a way to implement it on a GPU such that it'd run better than (or at least as good as) a CPU SIMD implementation would?
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?
mixbench - A GPU benchmark tool for evaluating GPUs and CPUs on mixed operational intensity kernels (CUDA, OpenCL, HIP, SYCL, OpenMP)
simde - Implementations of SIMD instruction sets for systems which don't natively support them.
rust - Empowering everyone to build reliable and efficient software.
sleef - SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT
cglm - 📽 Highly Optimized 2D / 3D Graphics Math (glm) for C
std-simd - std::experimental::simd for GCC [ISO/IEC TS 19570:2018]
Vc - SIMD Vector Classes for C++
highway - Performance-portable, length-agnostic SIMD with runtime dispatch
highway - Highway - A Modern Javascript Transitions Manager
xsimd - C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))
SimSIMD - Up to 200x Faster Inner Products and Vector Similarity — for Python, JavaScript, Rust, and C, supporting f64, f32, f16 real & complex, i8, and binary vectors using SIMD for both x86 AVX2 & AVX-512 and Arm NEON & SVE 📐
Vcpkg - C++ Library Manager for Windows, Linux, and MacOS