Re: [eigen] Allocation policy of eigen decompositions

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




2010/4/20 Adolfo Rodríguez Tsouroukdissian <dofo79@xxxxxxxxxx>


On Mon, Apr 19, 2010 at 7:36 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx> wrote:
Sorry, my bad! I added this eval() for debugging and forgot to remove it.

Can you retry now? This should remove 1 heap allocation. I really
don't know where the 3 others can be coming from, but that would be a
bug that we (I...) introduced, so you don't have to block your stuff
because of it.

Removing eval() did the trick.. I was seeing four allocations because the call to applyHouseholderOnTheLeft is inside a loop :s, so problem solved.

 
FYI: A secondary effect of removing the above eval() is that these tests are now failing:

householder_5
householder_6
householder_7

Adolfo
 
Adolfo
 

Benoit


2010/4/19 Adolfo Rodríguez Tsouroukdissian <adolfo.rodriguez@xxxxxxxxxxxxxxxx>:
> Some updates,
>
> The patch is coming out quite well, but there is something that I'd like to
> ask the devs about firs. Up until this morning I had all decompositions
> except those in the Eigenvalues module (will talk about that in a separate
> email) working as expected, then I pulled in recent changes (storageorders
> branch included) and something changed in the behavior of the
> applyHouseholderOnTheLeft method of MatrixBase<Derived>.
>
> Line 101 of Householder/HouseHolder.h states:
>
> tmp.noalias() = essential.adjoint().eval() * bottom;
>                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> When using dynamic matrices, the highlighted part performs four heap
> allocations, and since all QR decompositions use applyHouseholderOnTheLeft,
> their compute() method ends up heap-allocating as well, which is what I'm
> trying to avoid. My question is then, can these allocations be prevented?,
> and if so what would be the best way?. I would also appreciate some insight
> into why these heap allocations weren't occurring before.
>
> Thanks in advance,
>
> Adolfo
>
>
> --
> Adolfo Rodríguez Tsouroukdissian, Ph. D.
>
> Robotics engineer
> PAL ROBOTICS S.L
> http://www.pal-robotics.com
> Tel. +34.93.414.53.47
> Fax.+34.93.209.11.09
> AVISO DE CONFIDENCIALIDAD: Este mensaje y sus documentos adjuntos, pueden
> contener información privilegiada y/o confidencial que está dirigida
> exclusivamente a su destinatario. Si usted recibe este mensaje y no es el
> destinatario indicado, o el empleado encargado de su entrega a dicha
> persona, por favor, notifíquelo inmediatamente y remita el mensaje original
> a la dirección de correo electrónico indicada. Cualquier copia, uso o
> distribución no autorizados de esta comunicación queda estrictamente
> prohibida.
>
> CONFIDENTIALITY NOTICE: This e-mail and the accompanying document(s) may
> contain confidential information which is privileged and intended only for
> the individual or entity to whom they are addressed.  If you are not the
> intended recipient, you are hereby notified that any disclosure, copying,
> distribution or use of this e-mail and/or accompanying document(s) is
> strictly prohibited.  If you have received this e-mail in error, please
> immediately notify the sender at the above e-mail address.
>




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