Re: [eigen] Extending Eigen with AVX |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Extending Eigen with AVX
- From: Rohit Garg <rpg.314@xxxxxxxxx>
- Date: Sun, 3 Mar 2013 23:58:36 -0500
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:content-type:content-transfer-encoding; bh=+y4gdR1dLjzPmOvdimSYmDqvmKpF4yw1++0nGXOHO8U=; b=DOAQdwmFh7bkckMnTS1tR/y+zeDUYCmqC08pYosDZL/ws+K10UZzVibrbuxHdI8tfa 66i7lr4o9wNTr+J7dTemSs9dqyGteKZHofQsyV+1KDh+ach3RWPUS1UL8KbzZil5hL6N uEpsvb1qWaZ2nz8+OsIJ6biRDkreZGJmvF62rc080tPjTl00H/XBy6QYICrkpp4lz/5h ZdIgB1dfUNIAVlmzArgfdA+sJAqmZzWck65JaFZXX4MUK7NlmP5nkyKQIsgTef4mixa+ IpY3yTomScCLkqxVjTqtj49Xl/muPllVjfq6nxFb1kGBjBNScJ2jkaSnqKuH9Ohv8ckg Ooxg==
On Sun, Mar 3, 2013 at 7:26 AM, Christoph Hertzberg
<chtz@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:
> On 03.03.2013 01:09, Rohit Garg wrote:
>>
>> I can work on the PacketMath functions for AVX if there are other
>> developers more familiar with Eigen's internals who would be OK with
>> helping me integrate this. Sadly, I do not know as much about Eigen's
>
>
> I'm afraid it is not too trivial, mostly because AVX supports packages twice
> as large as SSE and there are some parts of Eigen where the packet size is
> hard-coded.
> There has been the idea of meta-packages some time ago (i.e. put more values
> in a package than fit in a register). On the one hand this would help
> implementing expressions involving casts (e.g. from float to double) and it
> would make AVX-integration "almost trivial".
Would it be any easier if we used AVX just for dynamic sized matrices?
>
>
>> internals as I should. Since AVX does not have integer operations, I
>
>
> That's quite a drawback (if packet integer operations are required in an
> algorithm) since switching between AVX and SSE is quite costly.
That is not neccesarily a problem. If you compile with -mavx on gcc,
even the SSE intrinsics use AVX instructions. They get the 3 operand
syntax for free. Integer support would become available with AVX2.
>
>
>
> Christoph
>
>
>
>
> --
> ----------------------------------------------
> Dipl.-Inf., Dipl.-Math. Christoph Hertzberg
> Cartesium 0.049
> Universität Bremen
> Enrique-Schmidt-Straße 5
> 28359 Bremen
>
> Tel: +49 (421) 218-64252
> ----------------------------------------------
>
>
--
Rohit Garg
http://rpg-314.blogspot.com/
Graduate Student
Applied and Engineering Physics
Cornell University