|Re: [eigen] Eigen containers cannot be vectorized|
[ Thread 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
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.
Founder & Consultant - Inside Loop
Applied Mathematics & High Performance Computing
Tel: +33 (0)6 01 44 06 93
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).
Dipl. Inf., Dipl. Math. Christoph Hertzberg
FB 3 - Mathematik und Informatik
28359 Bremen, Germany
Zentrale: +49 421 178 45-6611
Besuchsadresse der Nebengeschäftsstelle:
28359 Bremen, Germany
Tel.: +49 421 178 45-4021
Empfang: +49 421 178 45-6600
Fax: +49 421 178 45-4150
Weitere Informationen: http://www.informatik.uni-bremen.de/robotik