eve
Expressive Vector Engine - SIMD in C++ Goes Brrrr (by jfalcou)
version2
Vector class library, latest version (by vectorclass)
eve | version2 | |
---|---|---|
6 | 6 | |
848 | 1,220 | |
- | 1.6% | |
8.9 | 5.8 | |
7 days ago | 3 months ago | |
C++ | C++ | |
Boost Software License 1.0 | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.
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.
eve
Posts with mentions or reviews of eve.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-06.
-
Lack of modern scientific libraries written in C
C++ offers tools for writing better APIs, and since the addition of concepts in C++20 it offers much better API enforcement. Writing an equivalent to libraries such as {fmt} or EVE is not possible in anything we’d call C.
-
Library that could generate vectorized code for different instruction sets?
Here is a doc on how we suggest to do it: https://jfalcou.github.io/eve/multiarch.html Here is complete code of that example: https://github.com/jfalcou/eve/tree/main/examples/multi-arch
-
SIMD intrinsics and the possibility of a standard library solution
My source for this was the statement:
-
C++'s smaller cleaner language
Indeed you cannot. Then again, you couldn't write a library like fmtlib in C in the first place. I mean why do you complain about C++ features which enable you to write libraries you otherwise couldn't? How would you expect to implement equivalent libraries to EVE or mp-units in C alone?
version2
Posts with mentions or reviews of version2.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-01-08.
-
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?
What are some alternatives?
When comparing eve and version2 you can also consider the following projects:
simdutf - Unicode routines (UTF8, UTF16, UTF32) and Base64: billions of characters per second using SSE2, AVX2, NEON, AVX-512, RISC-V Vector Extension. Part of Node.js and Bun.
highway - Performance-portable, length-agnostic SIMD with runtime dispatch
aoc22 - Advent of Code solutions for 2022 (in Python)
aoc2021
advent2022
ispc - Intel® Implicit SPMD Program Compiler
adventOfCode2022
dmd - dmd D Programming Language compiler
simde - Implementations of SIMD instruction sets for systems which don't natively support them.
fractals - Mandelbrot renderer with SIMD (NEON/AVX) acceleration.
Day4 - My (messy) Python3 solution for day4's puzzle.