Alien-SIMDe
view release on metacpan or search on metacpan
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-critical sections to native 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.
lib/Alien/SIMDe.pm view on Meta::CPAN
=over 4
=item L<SIMDe|https://github.com/simd-everywhere/simde>
(From the SIMDe GitHub repository)
The SIMDe header-only library 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 implem...
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-critical sections to native intrinsics, improving pe...
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,...
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 min...
=item L<Alien>
Documentation on the Alien concept itself.
( run in 0.726 second using v1.01-cache-2.11-cpan-acf6aa7dc9e )