Re: [eigen] NEON PacketMath.h questions

[ Thread Index | Date Index | More Archives ]

>> One could also force the use of the vmla instruction via inline
>> assembly. This would require distinguishing multiply+add (return a
>> value) from multiply+accumulate (modify one of the inputs).
>> Multiply+accumulate is extremely common in gemm/gemv and probably
>> worth optimizing for. I'm willing to take a crack at adding such a
>> method (pmacc? pmadd_inplace? pfma?), although I might need a few
>> pointers -- I'm new to both C++ templating and Eigen -- and would
>> probably need help with SSE/AltiVec. So before I start on it: Is there
>> interest in such an addition?
> Don't worry, when we do c = pmadd(a,b,c), then the compiler is smart
> enough to recognize that 'c' is on both sides and that we are doing an
> accumulation. No need for a specific path here.

Yep, totally. I was just contemplating this as a means to work around
the current compiler shortcomings when it comes to NEON. I'll go
pester the compiler folks about it instead, though -- that's the right
fix. :)

>> (3)
>> Is there a good way to run the existing Eigen unit tests on an iOS or
>> Android device? (E.g. is there an Xcode-friendly test wrapper? Is
>> there interest in one?) I don't have -- or intend to acquire -- a
>> beagle board, so testing NEON changes is currently a bit manual and ad
>> hoc.
> There is clearly a need for a simple way to test Eigen on iOS.

IIRC, cmake can generate Xcode projects, so that's a start, but it
takes extra work to make tests that run on a device instead of the
simulator. Anyway, will see what I can do...


Mail converted by MHonArc 2.6.19+