libsimde-dev binary package in Ubuntu Noble arm64
SIMDe provides fast, portable implementations of SIMD intrinsics on hardware
which doesn't natively support them, such as calling SSE functions on ARM.
There is no performance penalty if the hardware supports the native
implementation (e.g., SSE/AVX runs at full speed on x86, NEON on ARM, etc.).
.
This makes porting code to other architectures much easier in a few key ways:
.
First, instead of forcing you to rewrite everything for each architecture,
SIMDe lets you get a port up and running almost effortlessly. You can then
start working on switching the most performance-
intrinsics, improving performance gradually. SIMDe lets (for example) SSE/AVX
and NEON code exist side-by-side, in the same implementation.
.
Second, SIMDe makes it easier to write code targeting ISA extensions you don't
have convenient access to. You can run NEON code on your x86 machine without an
emulator. Obviously you'll eventually want to test on the actual hardware
you're targeting, but for most development, SIMDe can provide a much easier
path.
.
SIMDe takes a very different approach from most other SIMD abstraction layers
in that it aims to expose the entire functionality of the underlying
instruction set. Instead of limiting functionality to the lowest common
denominator, SIMDe tries to minimize the amount of effort required to port
while still allowing you the space to optimize as needed.
.
The current focus is on writing complete portable implementations, though a
large number of functions already have accelerated implementations using one
(or more) of the following:
.
SIMD intrinsics from other ISA extensions (e.g., using NEON to implement
SSE).
Compiler-
__builtin_
Compiler auto-vectorization hints, using:
OpenMP 4 SIMD
Cilk Plus
GCC loop-specific pragmas
clang pragma loop hint directives
Publishing history
Date | Status | Target | Component | Section | Priority | Phased updates | Version | ||
---|---|---|---|---|---|---|---|---|---|
2023-10-23 22:30:24 UTC | Published | Ubuntu Noble arm64 | release | universe | libdevel | Optional | 0.7.2-6 | ||
|
|||||||||
2024-05-04 06:10:19 UTC | Deleted | Ubuntu Noble arm64 | proposed | universe | libdevel | Optional | 0.7.6-1 | ||
|