Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code? |
[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]
Support for AVX is not completely finalized. In particular we still have to re-enable vectorization for 128bits width vectors. So finally Vector4f will still be 16 bytes aligned and vectorized.Then regarding alignment/ABI issues, I would keep the current behavior by default: if someone enable AVX, the best option is really to enable 32 bytes alignement, otherwise AVX gains would be strongly reduced. There are many other compiler options breaking the ABI anyway, so this only has to be clearly documented. For use cases as yours, we could offer compile-time options to choose the default maximal alignement requirement: 0, 16, 32, etc. instead of the current options that only allow you to disable alignement. Then it is up to the user to choose whether he prefers to enforce ABI compatibility by enabling 32B alignment on SSE or limit to 16B alignment for AVX.gaelOn Wed, Jan 28, 2015 at 12:30 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:- breaks long-standing invariant that Eigen ABI is independent of compile flagsCon:Benoit, Gael, could you confirm that this change is intentional?Pro:
improves perf of certain 4d ops
- regresses perf of 4f ops, as now Vector4f isn't aligned anymore!!!!
Benoit2015-01-27 18:22 GMT-05:00 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:Ouch... you're right.
- Follow-Ups:
- Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- From: Christoph Hertzberg
- References:
- [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- From: Benoit Jacob
- Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- From: Marc Glisse
- Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- From: Benoit Jacob
- Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- From: Benoit Jacob
- Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- From: Benoit Jacob
- Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- From: Gael Guennebaud
- Messages sorted by: [ date | thread ]
- Prev by Date: Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- Next by Date: Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- Previous by thread: Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
- Next by thread: Re: [eigen] How do you link multiple versions (e.g. AVX vs SSE) of the same Eigen code?
Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/