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.
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
Post by Rohit GargHi,
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