Re: [eigen] Optimization advice for a specific expression

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


You could also try
  I4x4.triangularView<Eigen::Upper>() += ...;
and copy the upper half to the lower afterwards (if needed). This however likely reduces vectorization possibilities (try it out, look at the generated assembly).
Other than that:
* What exactly do you mean by homogeneous? Can you make any assumptions on the determinant of G? (Calculating the det didn't not seem to be the bottleneck, though) * Is the same E used for lots of G? Does it have any special form (e.g. low rank, or Identity+lowRank)

Christoph

On 2016-02-04 16:17, Alberto Luaces wrote:
Gael Guennebaud writes:

Hi,

you can avoid one temp with:

I4x4.noalias() += ...;


Ok.  Nevertheless, there is no big difference.


Then slowndown might come from the compiler doing a bad job at
inlining. What is your compiler?

gcc version 5.3.1 20160121 (Debian 5.3.1-7)

version?

libeigen3-dev  3.3~beta1-2

What are the exact compilation flags?


-msse4 -O3 -DNDEBUG   -std=gnu++11

...aside from -I preprocessor flags.  "-msse4" seems to make no
difference either.


Also, please paste the complete declaration of
call_dense_assignment_loop.


Eigen::internal::call_dense_assignment_loop<Eigen::Matrix<double, 4, 4, 0, 4, 4>, Eigen::Product<Eigen::Product<Eigen::Matrix<double, 4, 4, 0, 4, 4>, Eigen::Matrix<double, 4, 4, 0, 4, 4>, 0>, Eigen::Matrix<double, 4, 4, 0, 4, 4>, 1>, Eigen::internal::assign_op<double> >

Thanks!




--
 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/