Re: [eigen] arm64 support

[ Thread Index | Date Index | More Archives ]

Hi Chris,

you're very welcome to extend NEON support. Indeed, the only place to look at is src/Core/arch/NEON/PacketMath..h. I guess it means changing the number of registers and add all the wrappers for double. Perhaps it would be better to put them in a new file instead of a big #ifdef / #endif. This file would be conditionally included from Eigen/Core. You might also look at the arch/SSE/PacketMath.h file to have SSE examples of the double wrappers. The expected behaviors are documented in src/Core/GenericPacketMath.h. Don't hesitate to ask us if something is unclear. Compiling and running the packetmath_* unit tests should be enough to verify everything works well.

good luck,


On Fri, Sep 13, 2013 at 2:57 AM, Chris Laurel <claurel@xxxxxxxxx> wrote:
Has anyone started work on supporting NEON for arm64? It appears that the number of registers has doubled from armv7 and there is now support for double precision SIMD instructions.

I'm interested in participating in development of this. However, while I have extensive experience using the Eigen library, I've never messed around with the lowest level internals. It looks like the place to start (and perhaps the only file to modify) would be src/Core/arch/NEON/PacketMath.h. Some of the required changes seem self-evident, but if there's some sort of guide on adding a new SIMD to Eigen, I'd love to know about it.

Best regards,


Mail converted by MHonArc 2.6.19+