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: Fri, 16 Apr 2010 07:29:49 -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=DCoXJDeMJMg13F11HntaDjE+VvGkWfh0X6cAPdGKtgE=; b=EVO/NVopVvHSI36h0T3+yZnPcCL3CiAa55z1lWczr1572NQyRnJMQaznUeHS/S6YQO WXLWPPn6/FGoVPQrP0n/MXURP7dLK42mOpm0a+tr7N7TI7amWl3xOqzJZ2YclIcCj2Qx +O491LFFdvFfq0zAYN+2T7uybUb9n/1Zv8dPU=
- 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=u2Qcgp8O36rBoKTHdfuS5dAcGKn9pEZr2uANn2ZBrWs7oSKCAuD+f2tNuGoagtXRps yEpDyN4LjnIzEbmO8XRzimJkdovEVz2w36i8fC8CyNVpX9aUVLwqotarw72tdItKqazE O5RIOQ4bFjcbe+7bdL5KKnAjntH2zVUfByJG4=
2010/4/16 Adolfo Rodríguez Tsouroukdissian <adolfo.rodriguez@xxxxxxxxxxxxxxxxx>:
>
>
> On Thu, Apr 15, 2010 at 1:24 PM, Benoit Jacob <jacob.benoit.1@xxxxxxxxx>
> wrote:
>>
>> 2010/4/15 Adolfo Rodríguez Tsouroukdissian
>> <adolfo.rodriguez@xxxxxxxxxxxxxxxx>:
>> > Hi Eigen devs,
>> >
>> > After a couple of weeks disconnected from the dev branch, and with the
>> > date
>> > of the Beta1 tag fast approaching,
>>
>> I was about to propose delaying beta1 and/or turning it into an alpha.
>
> OK. Please do update the wiki when the new release schedule is out, for we
> are following it somewhat closely :)
Ah ok. The schedule was a shot in the dark made 6 months ago and it's
actually quite a miracle that we've come so close of actually making
it. I mean, the delay will probabably be ~ 1 month, which is little
compared to these 6 months.
Today I want to finish with my eigen-storageorders fork, merge it,
then I'm available to discuss schedules.
>>
>> > I'd like to ask about the status of a
>> > couple of topics that have been discussed in this (and another) thread:
>> >
>> > - It was mentioned that decompositions would have a constructor with
>> > size
>> > parameters. Is this API addition still on?. I just checked the two SVD's
>> > on
>> > tip and it is not yet the case
>>
>> It is still planned, it is not yet implemented.
>
> I've been playing with this a bit, and I could send a patch that:
> - Adds a constructor with size parameters for all decompositions that still
> don't have one
> - Makes all temporary matrices class members so they can too be preallocated
> in the above mentioned constructor. This is to ensure that calls to
> decomposition::compute(const MatrixType&) will not perform heap allocations
> when dynamic matrices are used.
Excellent ideas, I would be really happy about such a patch!
>
> The patch is pretty straightforward to implement and I'll probably be taking
> a shot at it today, so if you see any potential conflicts with
> to-be-implemented additions, please let me know
No conflict. But it will take you some effort, because we have a dozen
decompositions. Extra bonus points for covering this somehow by unit
tests!
>
>>
>> > - What's the status on computing decompositions in place, and the
>> > possibility of making this work on blocks?
>>
>> Both still planned, both not yet implemented.
>
> I don't have an immediate use case for performing decompositions on blocks,
> and since in-place decompositions will likely have to take blocks into
> account, I'm not jumping in on this one.
OK.
>
>>
>> > - Will optimized matrix products between smallish matrices (size <
>> > 50x50)
>> > involve heap allocations?. A previous post said that on Linux (which is
>> > my
>> > case) alloca() is used so no heap (but rather stack) allocations. Am I
>> > understanding this correctly?
>>
>> Yes, on linux we are using stack allocation there. There are plans to
>> do that on MSVC too. The threshold is controlled by
>> EIGEN_STACK_ALLOCATION_LIMIT. See Core/util/Memory.h.
>
> Thanks for the pointer to the relevant source file :). I just verified this
> behavior.
Cheers
Benoit
>>
>> Roadmap-wise, here's how things are looking for me:
>> - i'm currently knee deep in very deep changes with the class
>> hierarchy, storage orders, and fully supporting 0 and 1 sizes.
>> - once i'm done i want to finish the cleanup of renaming "Matrix" to
>> "Object" wherever needed, etc
>> - once i'm done i must do the new SVD
>>
>> That i'm sure to be able to do by early May. Then I start my new job
>> so will have less time.
>>
>> Help with the above-discussed items is very welcome :)
>>
>> Benoit
>>
>> >
>> > Thanks and cheers,
>> >
>> > 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.
>> >
>>
>>
>
>
>
> --
> 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.
>