Re: [eigen] Allocation policy of eigen decompositions

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


2010/4/20 Benoit Jacob <jacob.benoit.1@xxxxxxxxx>:
> 2010/4/20 Adolfo Rodríguez Tsouroukdissian <adolfo.rodriguez@xxxxxxxxxxxxxxxx>:
>>
>>
>> 2010/4/20 Adolfo Rodríguez Tsouroukdissian <dofo79@xxxxxxxxx>
>>>
>>>
>>> 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
>
> I can reproduce the householder_6 failure, not the others. Thanks for
> letting me know.

I can now confirm the 5,6,7 failures with vectorization disabled.

I am afraid that I introduced a huge bug that so far had been hidden
by this eval(). Investigating...

Benoit

>
> Currently investigating.
> Benoit
>
>>
>> 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/