Re: [eigen] Status of AVX support |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Status of AVX support
- From: Gael Guennebaud <gael.guennebaud@xxxxxxxxx>
- Date: Wed, 7 Dec 2011 09:43:44 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=AvfqI7h5Z/WE3/2POIx+43kUpdJE3YtCxMv5kT5drG8=; b=ilcKgWJ9lpnXGxsvPj71cfr4OW9mIx8oSKQRGKbY2pRcmwIpAcX+Pjm2cKiIrv9ZhY StuJmPCN4HgYgn16mcXWwi/giqTaIoirY7tpB9YsHwOdRw46dx0CeQT9xjW9HzpuG/uw m/k/3kFdyHPpmQyAZhYsyZa3mNoGLWFNqbUtE=
well, one (AVX) will be built on top of the SSE backend. The main
difficulty is that for the same scalar type, e.g., float, we'll have
the possibility to choose between two backends, and to be future proof
the logics we implement should be able to deal with an arbitrary
number of backends.
gael
On Tue, Dec 6, 2011 at 11:48 PM, Rohit Garg <rpg.314@xxxxxxxxx> wrote:
> To clarify, I meant separate backends, just like with SSE and NEON.
>
> On Tue, Dec 6, 2011 at 5:09 PM, Rohit Garg <rpg.314@xxxxxxxxx> wrote:
>> On Tue, Dec 6, 2011 at 8:01 AM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
>>> Hi,
>>>
>>> I don't know of any work in that direction.
>>>
>>> The difficulty is that taking advantage of AVX without regressing
>>> current performance from SSE will require us to handle *both* 16-byte
>>> and 32-byte packet size and alignment. We will need 16-byte for e.g.
>>> Vector4f, while we will of course want to use 32-byte wherever we can.
>>>
>>> That part requires significant changes in Eigen.
>>
>> But that will still need the AVX and SSE backend to choose on a per
>> object basis, right?
>>>
>>> On the other hand, if you can be satisfied with just a pure-32-byte
>>> mode, not trying to fall back to 16-byte, that's a lot easier, you'd
>>> just have to adjust existing code to allow for 32-byte alignment
>>> instead of 16-byte (easy) and add arch/AVX/PacketMath.h (not hard if
>>> you know AVX intrinsics). You're welcome to do so, but keep in mind
>>> that such a pure-32-byte mode will regress performance for the
>>> applications that don't lend themselves well to 32-byte packets and
>>> alignment, such as Vector4f, so it won't be possible to enable it by
>>> default until it can properly fall back to 16-byte packets and
>>> alignment.
>>>
>>> Cheers,
>>> Benoit
>>>
>>> 2011/12/5 Rohit Garg <rpg.314@xxxxxxxxx>:
>>>> Hi,
>>>>
>>>> I just laid my hands on a Sandy Bridge machine and I was wondering
>>>> what is the current status of AVX development for Eigen.
>>>>
>>>> Cheers,
>>>> --
>>>> Rohit Garg
>>>>
>>>> http://rpg-314.blogspot.com/
>>>>
>>>> Graduate Student
>>>> Applied and Engineering Physics
>>>> Cornell University
>>>>
>>>>
>>>
>>>
>>
>>
>>
>> --
>> Rohit Garg
>>
>> http://rpg-314.blogspot.com/
>>
>> Graduate Student
>> Applied and Engineering Physics
>> Cornell University
>
>
>
> --
> Rohit Garg
>
> http://rpg-314.blogspot.com/
>
> Graduate Student
> Applied and Engineering Physics
> Cornell University
>
>