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

**Follow-Ups**:**Re: [eigen] Allocation policy of eigen decompositions***From:*Benoit Jacob

**References**:**Re: [eigen] Allocation policy of eigen decompositions***From:*Benoit Jacob

**Re: [eigen] Allocation policy of eigen decompositions***From:*Adolfo Rodríguez Tsouroukdissian

**Re: [eigen] Allocation policy of eigen decompositions***From:*Benoit Jacob

**Re: [eigen] Allocation policy of eigen decompositions***From:*Adolfo Rodríguez Tsouroukdissian

**Re: [eigen] Allocation policy of eigen decompositions***From:*Benoit Jacob

**Re: [eigen] Allocation policy of eigen decompositions***From:*Adolfo Rodríguez Tsouroukdissian

**Re: [eigen] Allocation policy of eigen decompositions***From:*Benoit Jacob

**Re: [eigen] Allocation policy of eigen decompositions***From:*Adolfo Rodríguez Tsouroukdissian

**Re: [eigen] Allocation policy of eigen decompositions***From:*Adolfo Rodríguez Tsouroukdissian

**Messages sorted by:**[ date | thread ]- Prev by Date:
**Re: [eigen] converting matrices to/from byte arrays** - Next by Date:
**Re: [eigen] Allocation policy of eigen decompositions** - Previous by thread:
**Re: [eigen] Allocation policy of eigen decompositions** - Next by thread:
**Re: [eigen] Allocation policy of eigen decompositions**

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