SIMDCompressionAndIntersection
Vc
Our great sponsors
SIMDCompressionAndIntersection | Vc | |
---|---|---|
1 | 6 | |
410 | 1,418 | |
- | 1.8% | |
2.0 | 6.1 | |
10 months ago | 3 months ago | |
C++ | C++ | |
Apache License 2.0 | BSD 3-clause "New" or "Revised" 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.
SIMDCompressionAndIntersection
-
What scientists must know about hardware to write fast code
If you’re working with time series data and using a vectorized algorithm implemented with SIMD instructions you can achieve decompression speeds approaching 15 GB/s [1].
Anecdotally when working with biological signals at my day job, compression is a massive win and an absolute no brainer tradeoff when shuffling data across the network or even just storing in memory.
That said, I think your first point is still reasonable for certain types of data and compression algorithms.
[1] https://github.com/lemire/SIMDCompressionAndIntersection
Vc
-
The Bitter Truth: Python 3.11 vs Cython vs C++ Performance for Simulations
Most high-performance math libraries perform a lot of vectorization (Eigen, etc) under the hood. And you've got stuff like Klein, Vc (which is reminiscent of std::valarray), etc. Then there's OpenMP's #pragma omp simd (assuming version 4.0 or greater).
-
John "God" Carmack: C++ with a C flavor is still the best (also: Python performance "keeps hitting me in the face")
I personally like the ideas in Parallelism v2 TS, which is available in for libstdc++ 11 onwards. The reference implementation is a library named Vc (afaik Vc is the most popular SIMD library for C++), and this has also been implemented in recent versions of HPX.
-
SPO600 project part 2
First of all about our project, I previously decided to work with VC library.https://github.com/VcDevel/Vc
-
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
- Vc 1.4.2 released: portable SIMD programming for C++
-
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?
lzbench - lzbench is an in-memory benchmark of open-source LZ77/LZSS/LZMA compressors
highway - Performance-portable, length-agnostic SIMD with runtime dispatch
xsimd - C++ wrappers for SIMD intrinsics and parallelized, optimized mathematical functions (SSE, AVX, AVX512, NEON, SVE))
TurboPFor - Fastest Integer Compression
Eigen
std_find_simd - std::find simd version
blaze
MIRACL - MIRACL Cryptographic SDK: Multiprecision Integer and Rational Arithmetic Cryptographic Library is a C software library that is widely regarded by developers as the gold standard open source SDK for elliptic curve cryptography (ECC).
GLM - OpenGL Mathematics (GLM)
OpenBLAS - OpenBLAS is an optimized BLAS library based on GotoBLAS2 1.13 BSD version.