[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Request for feedback: adding additional arch support to libssw using the SIMDE headers

P.S. I tested https://salsa.debian.org/med-team/libssw/tree/simde using i386, could someone sponsor an upload to experimental so I can see the results across all Debian architectures?


On Thu, Dec 12, 2019 at 1:05 PM Michael Crusoe <michael.crusoe@gmail.com> wrote:
Hello all,

As an experiment I've added support for non-SSE2 CPUs to the libssw library at https://salsa.debian.org/med-team/libssw/tree/simde using the SIMDE header only library that provides implementations for many SIMD C/C++ intrinsics using plain source code, or SIMD equivalents on other processors (like NEON on arm64).

A basic package for SIMDE is at https://salsa.debian.org/med-team/libssw/tree/simde though I would like to wait for upstream to make a proper release before submitting the package to Debian.

Upstream has been very responsive to my issues and pull requests, so this might be a nice way to improve portability of the software we package.

Specifically I'm interested in seeing more of our packages for the latest RaspberryPI systems (arm64).

Two downsides of using the SIMDE library:
1) Doesn't work with raw assembly, only C/C++ compiler intrinsics (<emmintrin.h> and friends)
2) Switching between different types of SIMD (like using SSE fallbacks for an SSE2 operation) is done at compile time and not run time.

Questions for you all:
1) Is this a good idea?
2) Should we carry these patches if upstream doesn't accept them?
3) Any ideas about compiling with different -m{avx2,avx,sse4.2,sse4.1,ssse3,sse3,sse2,sse,mmx} settings + simple wrapper generation to pick the right executable?


Michael R. Crusoe

Michael R. Crusoe

Reply to: