Re: how to manage packages that require native acceleration code

2022-09-13 Thread Aaron Boxer
On Mon, Sep 12, 2022 at 11:45 PM Paul Wise  wrote:

> On Mon, 2022-09-12 at 10:05 -0400, Aaron Boxer wrote:
>
> > My codec project uses SIMD code for x86 and AArch64 architectures.
> > Also, as there are different versions of SIMD i.e. SSE vs AVX vs
> > AVX2, the project uses a library that builds multiple versions of the
> > accelerated code and chooses which version to use at runtime.
>
> Runtime selection of instructions is the best solution indeed.
>
> Other solutions include automatic porting between SIMD instructions,
> emulating atomic instructions, manual runtime code path selection,
> manual runtime function selection, compiler function multi-versioning,
> glibc hwcaps library selection, runtime binary selection, blocking
> installation and blocking running binaries. All are summarised here:
>
> https://wiki.debian.org/InstructionSelection


Very interesting, thanks!


>
>
> --
> bye,
> pabs
>
> https://wiki.debian.org/PaulWise
>


Re: how to manage packages that require native acceleration code

2022-09-13 Thread Aaron Boxer
On Tue, Sep 13, 2022 at 2:58 AM Andrey Rahmatullin  wrote:

> On Mon, Sep 12, 2022 at 05:25:27PM -0400, Aaron Boxer wrote:
> > Thanks, Andrey. I have fixed this problem. v10.0,0 has just been uploaded
> > to unstable - would you
> > recommend releasing a new version 10.0.1 with these fixes, or is there a
> > way of updating v10.0.0 ?
> You can upload 10.0.0-2.
>

Thanks. As code in master has changed, I decided to make a new point
release, now uploaded to mentors

https://mentors.debian.net/package/libgrokj2k/

If this could be uploaded to unstable, it would be much appreciated!

Aaron



>
> --
> WBR, wRAR
>


Re: how to manage packages that require native acceleration code

2022-09-12 Thread Andrey Rahmatullin
On Mon, Sep 12, 2022 at 05:25:27PM -0400, Aaron Boxer wrote:
> Thanks, Andrey. I have fixed this problem. v10.0,0 has just been uploaded
> to unstable - would you
> recommend releasing a new version 10.0.1 with these fixes, or is there a
> way of updating v10.0.0 ?
You can upload 10.0.0-2.

-- 
WBR, wRAR


signature.asc
Description: PGP signature


Re: how to manage packages that require native acceleration code

2022-09-12 Thread Paul Wise
On Mon, 2022-09-12 at 10:05 -0400, Aaron Boxer wrote:

> My codec project uses SIMD code for x86 and AArch64 architectures.
> Also, as there are different versions of SIMD i.e. SSE vs AVX vs
> AVX2, the project uses a library that builds multiple versions of the
> accelerated code and chooses which version to use at runtime.

Runtime selection of instructions is the best solution indeed.

Other solutions include automatic porting between SIMD instructions,
emulating atomic instructions, manual runtime code path selection,
manual runtime function selection, compiler function multi-versioning,
glibc hwcaps library selection, runtime binary selection, blocking
installation and blocking running binaries. All are summarised here:

https://wiki.debian.org/InstructionSelection

-- 
bye,
pabs

https://wiki.debian.org/PaulWise


signature.asc
Description: This is a digitally signed message part


Re: how to manage packages that require native acceleration code

2022-09-12 Thread Aaron Boxer
On Mon, Sep 12, 2022 at 10:37 AM Andrey Rahmatullin  wrote:

> On Mon, Sep 12, 2022 at 10:05:36AM -0400, Aaron Boxer wrote:
> > My codec project uses SIMD code for x86 and AArch64 architectures. Also,
> as
> > there are different versions of SIMD i.e. SSE vs AVX vs AVX2, the project
> > uses a library that builds multiple versions of the accelerated code and
> > chooses which version to use at runtime.
> This sounds good.
>
> > My package currently has a `march-native` error logged for certain
> > architectures.
> -march=native is not compatible with the approach you just described. And
> you indeed must not use it when building packages.
>


Thanks, Andrey. I have fixed this problem. v10.0,0 has just been uploaded
to unstable - would you
recommend releasing a new version 10.0.1 with these fixes, or is there a
way of updating v10.0.0 ?



>
> --
> WBR, wRAR
>


Re: how to manage packages that require native acceleration code

2022-09-12 Thread Andrey Rahmatullin
On Mon, Sep 12, 2022 at 10:05:36AM -0400, Aaron Boxer wrote:
> My codec project uses SIMD code for x86 and AArch64 architectures. Also, as
> there are different versions of SIMD i.e. SSE vs AVX vs AVX2, the project
> uses a library that builds multiple versions of the accelerated code and
> chooses which version to use at runtime.
This sounds good.

> My package currently has a `march-native` error logged for certain
> architectures.
-march=native is not compatible with the approach you just described. And
you indeed must not use it when building packages.

-- 
WBR, wRAR


signature.asc
Description: PGP signature