Re: [eigen] Allocation policy of eigen decompositions |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/eigen Archives
]
- To: eigen@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [eigen] Allocation policy of eigen decompositions
- From: Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
- Date: Tue, 20 Apr 2010 11:10:01 -0400
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:received:message-id:subject:from:to:content-type :content-transfer-encoding; bh=WAg0+e+x8+z7FEOEVB7+o3pKBJes2d5WF3LVOJwtbVI=; b=OXLrwRlDoary0hU2Z++x2TBVJZbJJdlYRvPUvpYvm5RiD0aIOhYwOC6TT0EUUah0zz L5/C6VFmZIgAZJGCcCWB3lupyOx9HQSZlxSK+14o79ukPlKr/4oSINxQr5ea4HmgS8yU 9wZssL5oLzRVxFEOQcCKOBWwMkKbm+sLRQpVk=
- Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=f4FLnc9t6DcKSmhplVBvGCZvK1DIK+N0ji90DnVhz/C0nXbN1M2dDx3EulYmyvS8aN Bh53OTAuU5O/fY4In5DqDoRxtoEdynqJAVrjAY2O4bPGZmatSQTF/zS/OXzjN0Rz2eN5 A4nAlFLdBFLJ1OvQ/7OeQzWbG27NropM2P1Rk=
2010/4/20 Adolfo Rodríguez Tsouroukdissian <adolfo.rodriguez@xxxxxxxxxxxxxxxxx>:
>
>
> 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.
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.
>>> >
>>>
>>>
>