[eigen] Calls to copyPacketByOuterInner: when do they happen?

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

Hello everyone,

I am a very happy user of the Eigen3 library in my library RBDL, the
Rigid Body Dynamics Library (https://rbdl.bitbucket.org) which is an
open-source implementation of state-of-the art algorithms for both
forward and inverse dynamics.

Recently I have added more sophisticated joint models which reduce some
iterations required in the recursive algorithms in RBDL. When doing some
benchmarking it turns out that my changes provide a nice speedup (2.0X)
in some algorithms, while in others it is unpleasantly slower (0.5X).

Profiling (using google perftools) suggests that the code spends ~20%
more time in the copyPacketByOuterInner when using the newer joint models.

The question is now: what operations in Eigen result in calling of the
function and can they be avoided?

The code in question can be found here:
> https://bitbucket.org/MartinFelis/rbdl-experiments/src/54c0f3c8dd34f1d018ecf8c64474ace6d5a5b002/src/Dynamics.cc?at=default#cl-216


mail  : martin.felis@xxxxxxxxxxxxxxxxxxxxx
phone : +49 6221 544983
office: IWR | Speyerer Str 6 | Room 319 | 69115 Heidelberg | Germany

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