Re: [eigen] Eigen containers cannot be vectorized

[ Thread Index | Date Index | More lists.tuxfamily.org/eigen Archives ]


Well, when Eigen started, there were no reasonable auto-vectorizing compilers (as far as I know). So Eigen will most likely stay manually-vectorized at least for quite a while. For your example, you could provide some custom NullaryExpression (which can have a packet method to make it vectorizable). Also, if you are happy with your library for your purposes, there is no need to switch to Eigen. Or if you only want to use Eigen for some parts, it is quite easy to interact between libraries (using .data() and Eigen::Map)

Christoph

On 2016-12-08 15:14, Francois Fayard wrote:
Thanks for your feedback. Anyway, it seems that even more work has to be done for Eigen containers to play nicely with automatic vectorization. I don’t even know if it is possible.

I have developed my own library for multidimensional arrays which plays nicely with automatic vectorization ( https://github.com/insideloop/InsideLoop <https://github.com/insideloop/InsideLoop> ). It proves that it is something that can be done, but my goal was way simpler as I don’t need expression templates.
As I was new to C++, I had to study a lot of the popular libraries, and Eigen was one of them. It turns out that all multidimensional arrays library fail on this point which it too bad given the advent of AVX2 and AVX512 coming soon.

François Fayard
Founder & Consultant - Inside Loop
Applied Mathematics & High Performance Computing
Tel: +33 (0)6 01 44 06 93
Web: www.insideloop.io

On Dec 8, 2016, at 3:06 PM, Christoph Hertzberg <chtz@xxxxxxxxxxxxxxxxxxxxxxxx> wrote:

Well the bad thing about your proposal is that it would break our ABI and could make several index computations more complicated (I guess the latter will not make much difference, though).
As we want to guarantee ABI-stability for 3.x as much as possible, I don't see your proposal happening before 4.0 (for which there are absolutely no plans yet).

Christoph



--
 Dipl. Inf., Dipl. Math. Christoph Hertzberg

 Universität Bremen
 FB 3 - Mathematik und Informatik
 AG Robotik
 Robert-Hooke-Straße 1
 28359 Bremen, Germany

 Zentrale: +49 421 178 45-6611

 Besuchsadresse der Nebengeschäftsstelle:
 Robert-Hooke-Straße 5
 28359 Bremen, Germany

 Tel.:    +49 421 178 45-4021
 Empfang: +49 421 178 45-6600
 Fax:     +49 421 178 45-4150
 E-Mail:  chtz@xxxxxxxxxxxxxxxxxxxxxxxx

 Weitere Informationen: http://www.informatik.uni-bremen.de/robotik



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/