picoRTOS
sleef
picoRTOS | sleef | |
---|---|---|
2 | 17 | |
35 | 590 | |
- | - | |
8.8 | 8.1 | |
over 1 year ago | 9 days ago | |
C | C | |
MIT License | Boost Software License 1.0 |
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.
picoRTOS
-
What value is loaded into LR on return from the exception handler on tm4c
Here’s an example for Cortex M3 : https://github.com/jnaulet/picoRTOS/blob/v1.4.x/arch/arm/cm3/picoRTOS_portasm.S
-
picoRTOS v1.4.2 is out ! Check it out on GitHub : https://github.com/jnaulet/picoRTOS
For mobile users: https://github.com/jnaulet/picortos
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?
simde - Implementations of SIMD instruction sets for systems which don't natively support them.
nsimd - Agenium Scale vectorization library for CPUs and GPUs
QuarkTS - An open-source OS for embedded applications that supports prioritized cooperative scheduling, time control, inter-task communications primitives, hierarchical state machines and CoRoutines.
yenten-arm-miner-yespowerr16 - ARM 64 CPU miner for Yespower variant algorithms
freertos-teensy - FreeRTOS port with C++ std::thread support for ARM boards Teensy 3.5, 3.6, 4.0 and 4.1 (cortex-m4f and cortex-m7f)
sb-simd - A convenient SIMD interface for SBCL.
atomicx - Pure C++ non stack displacement that implements cooperative multitask library for SINGLE CORE embedded development on DSPs, Microcontrollers and Processor (ARV, RISCV, ARM(all), TENSY, ESP), while also suitable for applications on Windows, Linux and MacOs and compatible with some RTOSs as well. This library allows full event driven applications while uses SMARTs LOCKS and WAIT/NOTIFY locks to also transport messages, MESSAGE BROKER is also provided (Those uses Message type size_t message and size_t tags, where tag will give meaning to the message). That implementation also introduce thread safe QUEUE (full object) and smart_ptr (to allow better implementation on minimal environment)
vector-libm
arduino-pico - Raspberry Pi Pico Arduino core, for all RP2040 boards
crlibm - A mirror of the CRLibm project from INRIA Forge
Unicorn Engine - Unicorn CPU emulator framework (ARM, AArch64, M68K, Mips, Sparc, PowerPC, RiscV, S390x, TriCore, X86)
xbyak_aarch64