eigen
sleef
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.
eigen
-
Blaze: A High Performance C++ Math library
Is Eigen still alive? There's been no release in 3 years, and no news about it: https://gitlab.com/libeigen/eigen/-/issues/2699
- Gentoo -Os vs -O3 application startup time?
-
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
-
FetchContent and PROJECT_IS_TOP_LEVEL
I am trying to include Eigen in my project via FetchContent. They define/assume-defined PROJECT_IS_TOP_LEVEL on line 19 and, among other locations, on line 607 in their top level list file.
-
Common practices when doing image processing on the GPU
Eigen is a header-only library, thus simply cloning it from the official repository into the FOGGDD folder should be enough.
- Use TFlite in a Cmake Project
-
I've decided to learn Godot and it feels like I have "lost"
math library because you should never implement a math library yourself, and you probably want somethign more focused on performance than STL. GLM may work if you just need basic vector support. Eigen may help for a more physics heavy game. But I'd probably find something in-between those two
-
CMake: How to include the headers of an external library downloaded with FetchContent?
cmake_minimum_required(VERSION 3.15) project(app) include(FetchContent) FetchContent_Declare(Eigen3 URL https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.tar.gz) FetchContent_MakeAvailable(Eigen3) add_executable(app main.cpp) target_link_libraries(app Eigen3::Eigen)
-
-🎄- 2021 Day 13 Solutions -🎄-
Today was very easy to do with Eigen
- The official Eigen repo is now back online
sleef
-
The Case of the Missing SIMD Code
I'm the main author of Highway, so I have some opinions :D Number of operations/platforms supported are important criteria.
A hopefully unbiased commentary:
Simde allows you to take existing nonportable intrinsics and get them to run on another platform. This is useful when you have a bunch of existing code and tight deadlines. The downside is less than optimal performance - a portable abstraction can be more efficient than forcing one platform to exactly match the semantics of another. Although a ton of effort has gone into Simde, sometimes it also resorts to autovectorization which may or may not work.
Eigen and SLEEF are mostly math-focused projects that also have a portability layer. SLEEF is designed for C and thus has type suffixes which are rather verbose, see https://github.com/shibatch/sleef/blob/master/src/libm/sleef... But it offers a complete (more so than Highway's) libm.
-
Does anyone have any interest in my deep-learning framework?
But the other part about SIMD: I'm unsure if mgl-mat uses SIMD for transcendental functions or even for something like element-wise multiplication and division*. SIMD easily provides a speed-boost of 4-8 times which numpy uses. Libraries like sleef have been put to use by many.
- `constexpr` what?
- Advice on porting glibc trig functions to SIMD
-
SIMD intrinsics and the possibility of a standard library solution
Highway and Agner's VectorClass also have math functions. And SLEEF should definitely be mentioned.
-
Portable SIMD library
"SIMD Library for Evaluating Elementary Functions, vectorized libm and DFT" - https://github.com/shibatch/sleef
- SIMD Library for Evaluating Elementary Functions, Vectorized Libm and DFT
-
C library for multiple-precision floating-point arithmetic with correct rounding
Not mentioned in the list of users is SLEEF (https://github.com/shibatch/sleef), which provides fast approximations for various elementary functions. (It generates coefficients for the approximations with mpfr)
SLEEF itself is used by PyTorch.
-
How to speed up array writes?
If you are looking at floats, there's https://sleef.org
-
Benchmarking sine approximations and interpolators.
It would be interesting to see SLEEF added in the benchmarks.
What are some alternatives?
NumCpp - C++ implementation of the Python Numpy library
nsimd - Agenium Scale vectorization library for CPUs and GPUs
mathfu - C++ math library developed primarily for games focused on simplicity and efficiency.
yenten-arm-miner-yespowerr16 - ARM 64 CPU miner for Yespower variant algorithms
embree-aarch64 - AARCH64 port of Embree ray tracing library
sb-simd - A convenient SIMD interface for SBCL.
parallel-hashmap - A family of header-only, very fast and memory-friendly hashmap and btree containers.
vector-libm
colmap - COLMAP - Structure-from-Motion and Multi-View Stereo
crlibm - A mirror of the CRLibm project from INRIA Forge
CppRobotics - Header-only C++ library for robotics, control, and path planning algorithms. Work in progress, contributions are welcome!
xbyak_aarch64